Stream logs if possible and remove size limit
This commit is contained in:
30
src/lib/Hydra/View/NixLog.pm
Normal file
30
src/lib/Hydra/View/NixLog.pm
Normal file
@ -0,0 +1,30 @@
|
||||
package Hydra::View::NixLog;
|
||||
|
||||
use strict;
|
||||
use base qw/Catalyst::View/;
|
||||
use Hydra::Helper::CatalystUtils;
|
||||
|
||||
sub process {
|
||||
my ($self, $c) = @_;
|
||||
|
||||
my $logPath = $c->stash->{logPath};
|
||||
|
||||
$c->response->content_type('text/plain');
|
||||
|
||||
my $fh = new IO::Handle;
|
||||
|
||||
if ($logPath =~ /\.bz2$/) {
|
||||
open $fh, "bzip2 -dc < '$logPath' |" or die;
|
||||
} else {
|
||||
open $fh, "<$logPath" or die;
|
||||
}
|
||||
binmode($fh);
|
||||
|
||||
setCacheHeaders($c, 365 * 24 * 60 * 60);
|
||||
|
||||
$c->response->body($fh);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
1;
|
Reference in New Issue
Block a user