[Zend Framework] Zend_Log: 複数ライターへの出力、複数ログの出力

複数ライターへの出力を行いたいときは、下記のように名前を付けて application.ini に追記すればすぐに使えました(DBを除く)。

[markdown]

“`php:application/configs/application.ini
; +—–+
; | Log |
; +—–+
resources.log.stream.writerName = “Stream”
resources.log.stream.writerParams.stream = APPLICATION_PATH “/../data/logs/application.log”
resources.log.stream.writerParams.mode = “a”
resources.log.stream.filterName = “Priority”
resources.log.stream.filterParams.priority = 7
resources.log.stream.formatterName = “Simple”
resources.log.stream.formatterParams.format = “%timestamp% %priorityName% (%priority%): %message%” PHP_EOL
resources.log.firebug.writerName = “Firebug”
resources.log.firebug.filterName = “Priority”
resources.log.firebug.filterParams.priority = 7
“`

複数ライターの設定、複数ログの出力

> * [zend framework – Zend_Log with multiple writers in application.ini – Stack Overflow](http://stackoverflow.com/questions/7335482/zend-log-with-multiple-writers-in-application-ini)
> * [PHP5 Zend Framework-1.11 Zend_Application_Resource_Log リソースプラグインを使ってログ出力](http://atamoco.boy.jp/php5/ZendFramework/20110315_2.php)

## Stream

上記。

## データベース

DBのみ、application.ini だけでは使えない。

> * [php – Zend_Log in application.ini – Stack Overflow](http://stackoverflow.com/questions/1968253/zend-log-in-application-ini)
> * [Zend Log の出力先をデータベースにする – @yanaginの日記](http://d.hatena.ne.jp/n593977/20111011/1318333960)

## Firebug

上記。

> * [Setup logging in application.ini for Zend Framework 1](http://spaceweb.nl/setup-logging-in-application-ini-for-zend-framework-1/)
> * [Tricorn Labs » FireBug のコンソールにデバッグログを吐き出す](http://lab.tricorn.co.jp/ikeda/1822)

## Mail

Zend_Mail の設定に加えて、下記のような追記をしたところ、メールを受け取ることができました。

> * [Zend_Mail – 設定を application.ini にまとめる | deadwood](https://www.d-wood.com/blog/2013/06/06_3771.html)

“`php:application/configs/application.ini
resources.log.mail.writerName = “Mail”
resources.log.mail.writerParams.mail = “Zend_Mail”
resources.log.mail.writerParams.charset = ‘utf-8’
resources.log.mail.writerParams.subject = ‘Log ‘
resources.log.mail.writerParams.from = <メールアドレス>
resources.log.mail.writerParams.to[] = <メールアドレス>
resources.log.mail.filterName = “Priority”
resources.log.mail.filterParams.priority = 7
“`

> * [What is the best way to log errors in Zend Framework in my project at this stage? – Stack Overflow](http://stackoverflow.com/questions/2450842/what-is-the-best-way-to-log-errors-in-zend-framework-in-my-project-at-this-stage)

## Zend_Log_Writer_Syslog

一般的には syslog にログを記録して、ローテーションしてもらっているのかな?

> * [雰囲気でわかる“ログローテーション”の仕組み – あしのあしあと](http://d.hatena.ne.jp/higher_tomorrow/20101225/1293277510)
> * [logrotate によるログのローテーション](http://linux.kororo.jp/cont/server/logrotate.php)
Zend Server で syslog.conf 見つからなかったんですが、設定が必要なのかな?
> * [PHP: openlog – Manual](http://jp1.php.net/openlog)
> * [syslog を使って PHP アプリケーションを改善し、デバッグする](http://www.ibm.com/developerworks/jp/opensource/library/os-php-syslog/)

## その他

* Zend_Log_Writer_ZendMonitor
* Zend_Log_Writer_Null
* Zend_Log_Writer_Mock

> * [ライター – Zend_Log – Zend Framework](http://framework.zend.com/manual/1.12/ja/zend.log.writers.html)

細かい部分の設定方法が、いまいち分かりません。
どうやって調べるのかな。

[/markdown]