plackupで--daemonizeオプションをつけた時のアクセスログ
plackup -s Starman --daemonize hello.psgi
こんな感じでStarman+daemonizeで起動したときにアクセスログがどこにも出ない*1。
fujiwaraさんにPlack::Middleware::AccessLogはどう?とアドバイス頂いたので使ってみた。
use Log::Dispatch; use Plack::Builder; my $app = sub { my $env = shift; [ 200, [ "Content-Type", "text/plain" ], ["Hello World"] ]; }; builder { my $logger = Log::Dispatch->new( outputs => [ [ 'File', min_level => 'debug', filename => '/tmp/helloworld.log' ], ], ); enable "Plack::Middleware::AccessLog", logger => sub { $logger->log( level => 'debug', message => @_ ) }; $app; };
おk。
*1:と思われる