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のSSL設定+jQueryのError Loading Page

cakeで作ったアプリの認証画面でhttps環境だとError Loading Pageというエラーメッセージがでてしまい、ログインできないという事象が発生。 最初はSSLが原因かとおもっていたんです …

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

no image

mb_convert_encodingに関して(文字コードの自動検出やその周辺)

以前Perlでもやりましたが、文字コードの自動検出に関して。 ちなみにcp932=SJIS-WINです。 参考リンク Perlでの動的改行コード読み込みに関して+cp932ネタ PHPの場合、mb_d …

no image

携帯サイト取得手法

PHPでスクレイピングの仕事をよくやるんですが、携帯サイトを取得してほしいという要望があり、少し調査をすることに。 携帯サイトといってもドメイン以下のディレクトリで/で区切ってsample.domai …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …