Featured image of post Mojoliciousでログの書式を変更する

Mojoliciousでログの書式を変更する

MojoliciousのVersion5から、ログの書式を変更する属性が追加されたようなので使ってみます

@nqounetです。

MojoliciousのVersion5から、ログの書式を変更する属性が追加されたようなので使ってみます。

ログに情報を追加したかった

結構前になりますが、ログに情報を追記する方法を書いたことがありました。

この時は、無理矢理formatを書き換えたのですが、version5から、この関数が属性値として変更できるようになっていました。

正式に変更できるのは気持ち良いですね。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
sub startup {
  my $app = shift;
  $app->log->format(sub {
    my ($time, $level, @lines) = @_;
    my $time_string = localtime($time);
    my @caller = caller(4);
    my $caller = join ' ', $caller[0], $caller[2];
    return "[$time_string] [$level] [$caller] @lines\n";
  });
  my $r = $app->routes;
  $r->get('/')->to('index#start');
}

caller(4)が非常に微妙ですが、これ以上は思いつきません。

少なくともVersion5.07ではちゃんと出力した箇所を示しますが、ログの出力方法が変わればこの値は変更する必要があるでしょう。

参考になる資料

comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。