@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ではちゃんと出力した箇所を示しますが、ログの出力方法が変わればこの値は変更する必要があるでしょう。

参考になる資料