skillup

技術ブログ

PHP

PHPでのログ出力 PHP monolog

投稿日:2016年5月11日 更新日:

PHPでデバッグするときは、画面上にvar_dumpで情報を見ていたのですが、これができない場面ではログへの出力を行うことになります。

いままではフレームワークに標準でついてたんですが、これを機に一般のPHPのログ出力について勉強。

既存のPHPのログ出力に関していうと下記リンクが詳しいです。

https://unoh.github.io/2007/05/10/php-logging-to-text-files.html

上記のリンクに上がっている方法が一番歴史があるとおもうのですが、2016年5月現在,PHP monologというライブラリが使えるという情報を聞いたので早速調査つかってみました。

インストール

composerでインストールできます。composer.jsonに下記のように記述してcomopser  installでOKです。

プログラム

一応上記のプログラムでなんとかデバッグができるようになりました。

と書けば、配列でもオブジェクトでも内容を出力することはできるのですが(逆に言うとこれを書かないと出力されないです。)、ここに直に配列やオブジェクトを渡しても改行されていないため、非常に見にくいです。

そこでvar_dumpの結果自体を文字列として引き渡せばいいということに気づき、

というメソッドを実装しています。

参考リンク

Monologでロギングする

PHP monologをカスタマイズしてみた

php : var_dump の内容を文字列で受け取る

-PHP
-,

執筆者:


comment

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

関連記事

no image

FastCGIに関して

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

no image

PHPにおけるDI

Contents1 DIについての概要2 自分が作った簡単なサンプル(リンクの写経)3 参考リンク DIについての概要 PHPでのDI(Dependency Injection)に関して。 オブジェク …

no image

nginxをいれているサーバーでのPHP停止

ちょっとトラブル対応的なネタです。 先日、PHPで書かれているシステムが突然使用できなくなるという連絡があるお客様からありました。 原因としてはカゴヤのサーバー再起動により、php-fpmが起動してい …

no image

jenkinsでのPHPのCIに関して

PHPでのjenkinsに関して。 PHPでのjenkinsといっても基本Javaなどと変わらないと思います。 何らかのトリガーでjenkinsのjobをビルド(一連のタスク)させる ビルドの内容はソ …

no image

phing

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがありま …