skillup

技術ブログ

PHP

ログライブラリについて

投稿日:

以前にも少し書いたログ設計に関する記事。

ログの設計指針について

上記でログの設計について書きましたが、今回はログのライブラリに関して欲しいと思う機能を。

レベル分け

これがないとログツールとは言えないかと思いますが、一応記述。やはり最低3段階(詳細情報、通常の告知情報、エラー)、できれば4段階(警告情報)ないと原因追求が困難になります。

チャネルわけ

例えば複数のログを出したいた時にログを分けられるか否かです。

昔、インポートバッチを作っていましたが、インポート元が2つあり、同じログに出していたので、原因把握が困難になりました。

複数のチャネルを使い分けられればベターです。

出力先

ファイルや標準出力に出せないものはないかと思いますが、メールやSlackなどといった告知できるサービスにあると嬉しいです。

クラウドが主流の現在だとファイルに出すのはあまりいいことではないかもしれません。

もしファイルの場合、ログローテション(日付などを自動出力かつ古いものを消してくれる)があることが望ましいです。

出力情報のカスタマイズ

配列を渡して自動で出力してくれるか否か。sprintf()…みたいな形でかければいいんですが、長いと色々と面倒なんです。配列をそのままデバッグしてくれると楽です。(多すぎるとやばいですが・・)

PHPだと2020年11現在、monolog一択かなあ・・という気はします。

上記の機能は全て揃っています、というかmonologをみてこういう機能が必要なんだなと再認識しました。

自作で少し遊んだもの

https://github.com/umanari145/phptips/tree/master/logdir

参考リンク

PHPのロギングmonologを理解する

[PHP]Monologの使い方とすぐに使えそうなサンプルコード

PHPでのログ出力 PHP monolog

-PHP
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Laravelのサービスプロバイダ

ミドルウェアやルーティング同様、惰性で使っていたサービスプロバイダについてめも。 Contents1 サービスプロバイダとは2 参考リンク・参考文献 サービスプロバイダとは Laravelでは特定のサ …

no image

phpenv5.3+php-fpm

レガシーなプロジェクトではいまだにPHP5.3なんかを使うケースがあったりします。 これがCentOS6だったらyumでphp5.3とかだったらいいんですが、サーバーはCentOS7だったりするとなか …

no image

cakePHP3 serialize&compact

Contents1 serialize2 compact serialize cakePHP3の記述で

みたいな記述をよく見かけていま …

no image

ロケール情報について

本日、csvファイルを読み込む処理を行っていたんですが、コンソールからコマンドを打つと化けずに、ウェブ上で見ると化けるという現象が発生。 csv,プログラムともに文字コードがutf8で統一していること …

no image

FastCGIに関して

nginxについて学習してきましたが、今回はphp-fpmについてです。 Contents1 そもそもの構成2 CGIのメカニズム3 FastCGI4 nginxでの設定に関して4.1 fastcgi …