溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Log4PHP使用

發(fā)布時間:2020-07-17 21:42:47 來源:網(wǎng)絡 閱讀:5807 作者:bieru 欄目:web開發(fā)

Log4PHP2.3.0使用解釋

1.什么是Log4PHP

Log4php它為apche組織維護項目,是Log4xx系列日志組件之一,log4j在JAVA中可算是大名鼎鼎的日志開發(fā)包。Log4PHP也作為一個單獨的子項目存在,可以很方便的加載使用。

apache官方網(wǎng)站:http://logging.apache.org/log4php/

另外一個哥們的LOG4PHP的主站:http://www.vxr.it/log4php/


2.Log4PHP目錄結(jié)構(gòu)

從apache官網(wǎng)下載之后,解壓得到的文件夾目錄如下:

Log4PHP使用

對于需要的LOG4PHP的主要核心代碼在src/main/php下面,

Log4PHP使用


3.Log4PHP的簡單使用

   1.建立Log4PHP的XML配置文件

       

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://logging.apache.org/log4php/">
    <!-- 標準控制臺輸出的appender -->
    <appender name="STDOUT" class="LoggerAppenderConsole">
        <param name="threshold" value="debug"/>
        <layout class="LoggerLayoutPattern" >
            <param name="ConversionPattern" value="[%date{Y-m-d H:i:s,u}] [%t] %-5p %l - %message%newline%ex"/>
        </layout>
    </appender>
                                                                                                                                                                                                                                                                                                                                                                         
    <!-- 記錄所有ERROR日志的appender -->
    <appender name="ERROR-ALL" class="LoggerAppenderDailyFile">
        <layout class="LoggerLayoutPattern" >
            <param name="ConversionPattern" value="[%date{Y-m-d H:i:s,u}] [%t] %-5p %l - %message%newline%ex"/>
        </layout>
        <param name="file" value="log/php-error.log.%s" />
        <param name="threshold" value="error"/>
        <param name="append" value="true" />
        <param name="datePattern" value="Y-m-d" />
    </appender>
                                                                                                                                                                                                                                                                                                                                                                         
    <!-- 記錄所有DEBUG日志的appender -->
    <appender name="DEBUG-ALL" class="LoggerAppenderDailyFile">
        <layout class="LoggerLayoutPattern" >
            <param name="ConversionPattern" value="[%date{Y-m-d H:i:s,u}] [%t] %-5p %l - %message%newline%ex"/>
        </layout>
        <param name="file" value="log/php-debug.log.%s" />
        <param name="threshold" value="debug"/>
        <param name="append" value="true" />
        <param name="datePattern" value="Y-m-d" />
    </appender>
                                                                                                                                                                                                                                                                                                                                                                         
    <!-- 記錄所有INFO日志的appender -->
    <appender name="INFO-ALL" class="LoggerAppenderDailyFile">
        <layout class="LoggerLayoutPattern" >
            <param name="ConversionPattern" value="[%date{Y-m-d H:i:s,u}] [%t] %-5p %l - %message%newline%ex"/>
        </layout>
        <param name="file" value="log/php-info.log.%s" />
        <param name="threshold" value="info"/>
        <param name="append" value="true" />
        <param name="datePattern" value="Y-m-d" />
    </appender>
                                                                                                                                                                                                                                                                                                                                                                         
    <root>
        <level value="warn"/>
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="DEBUG-ALL"/>
        <appender-ref ref="INFO-ALL"/>
        <appender-ref ref="ERROR-ALL"/>
    </root>
</configuration>

   2.簡單PHP測試

   


<?php
require_once('log4php/Logger.php');
Logger::configure('log4php.xml');
$pay = Logger::getRootLogger();
$pay->info('測試LOG4PHP');
//$pay->warn("測試LOG4PHP");
//$pay->debug("測試LOG4PHP");
//$pay->error("測試LOG4PHP");
//$pay->fatal("測試LOG4PHP");
?>


運行PHP文件即可,即:

   info 、debug 不會產(chǎn)生文件

   warn 生成兩個文件:php-debug.log***  php-info.log***

   errror fatal會產(chǎn)生三個文件:php-debug.log***  php-error.log***  php-info.log***  

4.Log4PHP的配置文件解釋

   1)LOG4PHP由三部分構(gòu)成:

           (1)優(yōu)先級   由低到高: debug、 info、warn、 error、 fatal, 日志的輸出和你的等級設置相關(guān),比如上面的配置文件,root 下的  level = debug 那么所有的等級都會出現(xiàn)日志,但是日志文件的數(shù)量是不等的

           (2)日志輸出的目的地(有很多種,數(shù)據(jù)庫、文件等等)

                 

LoggerAppenderConsole //以php://stdout為輸出地
LoggerAppenderDailyFile //繼承自LoggerAppenderFile, 以文件為輸出地,每日輸出一個文件
LoggerAppenderDb   //以數(shù)據(jù)庫為輸出地
LoggerAppenderEcho //在執(zhí)行文件尾輸出
LoggerAppenderFile //以文件為輸出地
LoggerAppenderMail //以郵件為輸出地
LoggerAppenderMailEvent //繼承自LoggerAppenderMail, 以郵件為輸出地, 為事件觸發(fā)
LoggerAppenderNull //不輸出任何信息
LoggerAppenderPhp //輸出至PHP錯誤信息,將各類日志等級信息轉(zhuǎn)化為php標準信息
LoggerAppenderRollingFile //繼承自LoggerAppenderFile,以xxx.log.1, xxx.log.2的形式輸出,
LoggerAppenderSocket //以socket方式輸出
LoggerAppenderSyslog //以系統(tǒng)日志為目的地輸出,使用php中的syslog()函數(shù)進行記錄


           (3)輸出的格式:日志輸出的格式,LOG4PHP有5種輸出方式

       

LoggerLayoutHtml//以html格式輸出調(diào)試信息
LoggerLayoutSimple//簡單的以 "等級信息 - 日志信息"的格式顯示
LoggerLayoutTTCC//以"月/日/年 時間[進程] 等級信息 日志名稱 - 調(diào)試信息"的格式來顯示
LoggerPatternLayout//以模式表達式作為輸出格式來顯示(這個功能極為強悍,你可以隨心所欲的來設置輸出格式,在實例部分詳細講解)
LoggerXmlLayout//以xml的模式來輸出


      這樣就可以通過建立多個配置文件,采用靈活管理日志目錄,為每一個產(chǎn)品模塊采用不同的配置。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI