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+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …

no image

Traitによるコードの再利用

PHPでは多重継承が禁じられて(親は1つしかもてない)いるため、共通性のあるコードを書こうと思った時に親にかいていない場合限界があります。 そんな時に使えるのがTraitという考え方で、これを使います …

no image

mb_convert_kanaによる半角濁点の処理

PHPネタです。 濁点を処理するときに、カナ本体と濁点が分離していることが多々あります。 一般的には濁点と文字自体を混合させるケースのほうが多いので統一する必要性があるでしょう。 これを1文字にまとめ …

no image

call_user_funcについて

call_user_funcについて。 call_user_funcはメソッドを動的に呼ぶことができるメソッドの1つで、コールバック関数を使いたいときに使われます。JavaScriptでは比較的多いと …

no image

cakePHPでのバッチスクリプト

cakeでバッチのプログラムを書く機会があったのでメモします。 まあ、バッチだったらcakeでなくてもいいのですが、やはりcakeのModelをいろいろと使えると便利ですので・・ まずファイルパスです …