log4php使用及配置
1、在項目中加入log4php包
2、log4php配置
在項目配置包中添加logger_config.xml配置文件:
logger_config.xml配置文件添加代碼如下:
<configuration xmlns="http://logging.apache.org/log4php/"> <appender name="default" class="LoggerAppenderConsole" /> <appender name="basic_file_appender" class="LoggerAppenderDailyFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date [%logger] %message%newline" /> </layout> <param name="file" value="logs/basic.%s.log" /> <param name="datePattern" value="Y-m-d" /> </appender> <root> <level value="debug" /> <appender_ref ref="basic_file_appender" /> </root> <appender name="route_file_appender" class="LoggerAppenderDailyFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date %p [%logger] %message%newline" /> </layout> <param name="file" value="logs/route.%s.log" /> <param name="threshold" value="error"/> <param name="append" value="true" /> <param name="datePattern" value="Y-m-d" /> </appender> <logger name="Route"> <level value="debug" /> <appender_ref ref="route_file_appender" /> </logger> <appender name="session_file_appender" class="LoggerAppenderDailyFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date [%logger] %message%newline" /> </layout> <param name="file" value="logs/session.%s.log" /> <param name="datePattern" value="Y-m-d" /> </appender> <logger name="Session"> <level value="debug" /> <appender_ref ref="session_file_appender" /> </logger> <appender name="InventoryTransaction_file_appender" class="LoggerAppenderDailyFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date [%logger] %message%newline" /> </layout> <param name="file" value="logs/InventoryTransaction.%s.log" /> <param name="datePattern" value="Y-m-d" /> </appender> <logger name="InventoryTransaction"> <level value="debug"/> <appender_ref ref="InventoryTransaction_file_appender" /> </logger> <appender name="Reserve_file_appender" class="LoggerAppenderDailyFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date [%logger] %message%newline" /> </layout> <param name="file" value="/data0/wmsinventoryapi/Reserve.%s.log" /> <param name="datePattern" value="Y-m-d.H" /> </appender> <logger name="Reserve"> <level value="debug"/> <appender_ref ref="Reserve_file_appender" /> </logger> <appender name="Exception_file_appender" class="LoggerAppenderDailyFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date [%logger] %message%newline" /> </layout> <param name="file" value="logs/exception.%s.log" /> <param name="datePattern" value="Y-m-d" /> </appender> <logger name="Exception"> <level value="error"/> <appender_ref ref="Exception_file_appender" /> </logger> </configuration>
使用ConversionPattern自定義日志內容輸出格式,ConversionPattern參數的格式含義
格式名 含義
%c 輸出日志信息所屬的類的全名
%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },輸出類似:2002-10-18- 22:10:28
%f 輸出日志信息所屬的類的類名
%l 輸出日志事件的發生位置,即輸出日志信息的語句處於它所在的類的第幾行
%m 輸出代碼中指定的信息,如log(message)中的message
%n 輸出一個回車換行符,Windows平台為“rn”,Unix平台為“n”
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則為DEBUG,依此類推
%r 輸出自應用啟動到輸出該日志信息所耗費的毫秒數
%t 輸出產生該日志事件的線程名
3、使用log4php打印日志
在項目中,需要打印日志的地方添加如下代碼,輸出日志:
Logger::getLogger("Route")->error(Flight::request());
4、輸出結果