(轉)Log4php使用及配置指南

來源:互聯網
上載者:User
http://www.qinbin.me/log4php-use-and-configuration-guide/


一直是一個臨時寫的日誌組件,不過現在隨著功能的不斷完善,程式的日誌也做了規範,不過感覺現在的日誌函數已經不能滿足當前的需求了,所以考慮引入一個完善的日誌組件,看了看Log4php感覺很不錯。
Log4php是Log4xx系列日誌組件之一,是Log4j遷移到php的版本,主要用來記錄日誌資訊,支援多種輸入目的地,包括:記錄檔、日誌復原檔案、資料庫、Log Service器等等;同時,還支援多種輸入格式。
使用執行個體:

1234567 require_once 'log4php/Logger.php'; Logger::configure('logger.properties'); $logger = Logger::getRootLogger(); //$logger->debug("Hello World!"); //$logger->info("Hello World!"); //$logger->warn("Hello World!"); //$logger->error("Hello World!");

appender.default = LoggerAppenderRollingFile log4php.appender.default.file = logger.log.php log4php.appender.default.layout = LoggerLayoutPattern log4php.appender.default.MaxFileSize = 1024 log4php.appender.default.MaxBackupIndex = 10 log4php.appender.default.layout.ConversionPattern = "%d{ISO8601} [%p] %c: %m (at %F line %L)%n"log4php.rootLogger = DEBUG, default
配置項說明:
Log4php由三個重要的組件構成:
日誌資訊的優先順序;
日誌資訊的輸出目的地;
日誌資訊的輸出格式。
日誌資訊的優先順序從高到低有ERROR、WARN、INFO、DEBUG,分別用來指定這條日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌將附加到執行檔案尾還是檔案中;而輸出格式則控制了日誌資訊的顯示內容。
1. 日誌的優先順序。
日誌資訊有四種分類(常用),可以通過在在設定檔中設定優先權來將代碼中出現的調試資訊顯示或隱藏,舉例來講,當我把日誌等級調整至WARN級時,那麼程式中所出現的ERROR資訊(通過$log->error(“error message here!”))及WARN等級的資訊可以記錄出來,而程式中所有使用INFO與DEBUG級的資訊都將不顯示,它由
“log4php.rootLogger=DEBUG, A1″中rootLogger的第一個參數定義,這一句的意思是將調試等級定義為DEBUG級,也就是說程式中所有的ERROR, WARN,INFO, DEBUG資訊都可以顯示出來, 如果將等級設定為INFO, 那麼只能有ERROR, WARN, INFO這三種資訊可顯示。
以下是常用四種等級的用法:
DEBUG Level指出細粒度資訊事件對調試應用程式是非常有協助的。
INFO level表明 訊息在粗粒度層級上突出強調應用程式的運行過程。
WARN level表明會出現潛在錯誤的情形。
ERROR level指出雖然發生錯誤事件,但仍然不影響系統的繼續運行。
FATAL level指出每個嚴重的錯誤事件將會導致應用程式的退出。
2. 日誌資訊的輸出目的地。、
在log4php中輸出目的地支援12種,分別為:
<?php   LoggerAppenderConsole //以php://stdout為輸出地 LoggerAppenderDailyFile //繼承自LoggerAppenderFile, 以檔案為輸出地,每日輸出一個檔案 LoggerAppenderDb   //以資料庫為輸出地 LoggerAppenderEcho //在執行檔案尾輸出 LoggerAppenderFile //以檔案為輸出地 LoggerAppenderMail //以郵件為輸出地 LoggerAppenderMailEvent //繼承自LoggerAppenderMail, 以郵件為輸出地, 為事件觸發 LoggerAppenderNull //不輸出任何資訊 LoggerAppenderPhp //輸出至PHP錯誤資訊,將各類日誌等級資訊轉化為php標準資訊 LoggerAppenderRollingFile //繼承自LoggerAppenderFile,以xxx.log.1, xxx.log.2的形式輸出, LoggerAppenderSocket //以socket方式輸出 LoggerAppenderSyslog //以系統日誌為目的地輸出,使用php中的syslog()函數進行記錄   ?>


在設定檔中表現為”log4php.rootLogger=DEBUG, default” 從第二個參數起的別名,具體目的地的設定方式由:
12 log4php.appender.default=LoggerAppenderEcho log4php.appender.default.layout=LoggerLayoutHtml

來實現,每種輸出目的地都有不同的設定參數,根據實際需要,輸出的目的地可有多項,表現如下:
log4php.rootLogger=DEBUG, default, qinbin1, qinbin2, ….
其中default, qinbin1, qinbin2代表不同的輸出目的地。
3. 記錄檔輸出格式。它作為輸出目的地的一個屬性存在,log4php上包含5種不同的輸出方式,分別為:
LoggerLayoutHtml//以html格式輸出調試資訊
LoggerLayoutSimple//簡單的以 "等級資訊 - 日誌資訊"的格式顯示
LoggerLayoutTTCC//以"月/日/年 時間[進程] 等級資訊 日誌名稱 - 調試資訊"的格式來顯示
LoggerPatternLayout//以模式運算式作為輸出格式來顯示(這個功能極為強悍,你可以隨心所欲的來設定輸出格式,在執行個體部分詳細講解)
LoggerXmlLayout//以xml的模式來輸出


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.