skillup

技術ブログ

PHP

PHPでのログ出力 PHP monolog

投稿日:

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の結果自体を文字列として引き渡せばいいということに気づき、

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

参考リンク

http://blog.jicoman.info/2014/05/monolog/

http://kzhishu.hatenablog.jp/entry/2015/10/04/200000

https://hidelafoglia.wordpress.com/2008/07/02/php-var_dump-%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E6%96%87%E5%AD%97%E5%88%97%E3%81%A7%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B/

-PHP
-

執筆者:


comment

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

関連記事

no image

cakePHPでのマイグレーション

開発を続けているとデータベースのカラムの構造が変更するってことはしょっちゅうですが、管理がいい加減だとメンバー間でテーブルの構造が変わっていたり、本番と開発で違ってくるなどのトラブルが続出します。 そ …

no image

PHPでのリフレクション

Javaなどでは結構やりましたが、PHPでも動的にインタンス生成→メソッド呼び出しということをやれるとやれることが一気にふえるため、ちょっとメモです。 Contents1 ソース2 参考リンク ソース …

no image

underbarphpについて+配列処理頻出パターン

配列系の処理を関数型で行いたいときにJavaだとラムダ式、javaScriptだとunderscore.jsがあります。 PHPではできないものか・・といろいろと探していたところunderbar.ph …

no image

PHPでのPDF出力 テーブル

PDFで何かを出力する場合、ほとんどが納品書や請求書などの帳票でしょう。 これらもfpdfで出力することができます。 Contents1 ソース2 サンプル3 参考リンク ソース [crayon-5c …

no image

Cakeの共通処理

CakePHPだけに限りませんが、フレームワークの場合、オブジェクト指向の特徴を理解して、全ページに共通な処理などは個々のコントローラーに書くのではなく、もっと抽象度の高いクラスに書いたほうが保守性が …