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

cakePHPのajax

cakePHPのajaxですが、javascriptはいいとして、コントローラー側をどう実装するのか気になる方は多いでしょう。 cakeの画面は基本的にコントローラーにアクセスした後は通常はビューに遷 …

no image

CI/CDに関する取り組み

CI/CDに関して知識としては5年以上昔から持ってましたが、実際にプロジェクトの中に取り組むことができるようになったのはつい最近なので、取り込みが現実的なものに関してどのように取り組んでいくかといった …

no image

jQuery modalダイアログについて&重複時間処理

Contents1 jqueryモーダルダイアログ1.1 あらかじめ読み込むライブラリ1.2 ソース本体1.2.1 Html側1.2.2 Javascript側1.2.3 参考リンク2 重複時間につい …

no image

CakePHP2系でのテスト処理

cakePHP2系でのテストの処理について。 PHPでのテストといえばphpunitが有名かと思います。cakePHPでも標準でphpunitがはいっており、ユニットテストを行うことができます。 Co …

no image

CakePHP3 日付ライブラリ(Time)について

CakePHPには標準でいろいろなライブラリが入っていますが、日付ではCake\I18n\Timeというライブラリが入っています。 内部では3.2より前のバージョンではCarbonだったようですが、そ …

アーカイブ