比護 のすべての投稿

比護

比護 について

派遣スタッフを経て、中の人

monologについて(2)

こんにちは。

今日はmonologについて理解を深めた..というか困惑しているので、前回に引き続きmonologの投稿

前回の記事

ログにエラー箇所であるファイル名や、行番号を出力したいですよね。
私もGitにあるSeldaek/monologから最新を取得して利用して使っていました。
LineFormatterを使い、IntrospectionProcessorの出力に頼って..

ですが、fileとlineについてはLoggerのwriteメソッドの行番号が出力されており、どこか実装や設定が悪いのか?
と思っていたのですが、以下のStackOverflowの記事を見付けました。
stackoverflowの記事へ
こいつをGoogle翻訳にかけたところ、スレ主さんが私と同じ悩みを..
同じGitから取得しているようですし、Laravel特有ではない様子。

もうちょっと掘り下げて、パート3の頃(またか?)には解決してるか諦めつけるのか..
したいと思います。

monologについて

あけましておめでとうございます。
2017年もFAbankをよろしくお願いいたします。

Webサービスには欠かせないAPログについて、FAbankでも使っているmonologを語らせていただきます。
[GIT]Using Monolog

特別な設定はせず、デフォルトのまま使っていましたが
公式のドキュメントを読めば様々なProcesserがありますね。
ProcessIdProcessor: プロセスIDをログ出力
IntrospectionProcessor: 実行したファイル名、行番号等をログ出力

これを使ってみましたが以下の機能的に不満な部分も。

1.LineFormmterの%extra%の部分にJSON形式ですべて出力されてしまう
→ %extra%を%extra.proccess_id%に変更すればフォーマットも柔軟に変更できた

2.ProcessIdProcessorのgetmypid()って本当に一意?
→ プロセスとは離れてしまいますが、uniqid()を使うようにしました

3.IntrospectionProcessorの%extra.file%が全てFuel/Core/Log.php
→ debug_backtrace()ってプロセッサー内でcallする物ではなくて、info()やdebug()などの関数内で呼んで初めて必要な情報得られる気が..

MonoLogについては、更新も多いのでこの辺り試行錯誤していきたいと思います。
ではまた!