以前にも少し書いたログ設計に関する記事。
上記でログの設計について書きましたが、今回はログのライブラリに関して欲しいと思う機能を。
レベル分け
これがないとログツールとは言えないかと思いますが、一応記述。やはり最低3段階(詳細情報、通常の告知情報、エラー)、できれば4段階(警告情報)ないと原因追求が困難になります。
チャネルわけ
例えば複数のログを出したいた時にログを分けられるか否かです。
昔、インポートバッチを作っていましたが、インポート元が2つあり、同じログに出していたので、原因把握が困難になりました。
複数のチャネルを使い分けられればベターです。
出力先
ファイルや標準出力に出せないものはないかと思いますが、メールやSlackなどといった告知できるサービスにあると嬉しいです。
クラウドが主流の現在だとファイルに出すのはあまりいいことではないかもしれません。
もしファイルの場合、ログローテション(日付などを自動出力かつ古いものを消してくれる)があることが望ましいです。
出力情報のカスタマイズ
配列を渡して自動で出力してくれるか否か。sprintf()…みたいな形でかければいいんですが、長いと色々と面倒なんです。配列をそのままデバッグしてくれると楽です。(多すぎるとやばいですが・・)
PHPだと2020年11現在、monolog一択かなあ・・という気はします。
上記の機能は全て揃っています、というかmonologをみてこういう機能が必要なんだなと再認識しました。
自作で少し遊んだもの
https://github.com/umanari145/phptips/tree/master/logdir
参考リンク