在Java下應用log4j記載日記的辦法。本站提示廣大學習愛好者:(在Java下應用log4j記載日記的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是在Java下應用log4j記載日記的辦法正文
1、媒介
log4j是一個用Java編寫的靠得住,疾速和靈巧的日記框架(API),它在Apache軟件允許下宣布。 Log4j曾經被移植到了C,C++,C#,Perl,Python和Ruby等說話中。
Log4j是高度可設置裝備擺設的,並可經由過程在運轉時的內部文件設置裝備擺設。它依據記載的優先級別,並供給機制,以指導記載信息到很多的目標地,例如:數據庫,文件,掌握台,UNIX體系日記等。
Log4j中有三個重要構成部門:
loggers: 擔任捕捉記載信息。
appenders : 擔任宣布日記信息,以分歧的首選目標地。
layouts: 擔任格局化分歧作風的日記信息。
留意:本文是基於log4j 2.X及以上版本。
2、裝置
log4j-core-xx.jar
log4j-api-xx.jar
log4j-web-xx.jar(web項目標須要援用)
3、設置裝備擺設
預備些日記的類添加以下援用:
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
static Logger logger = LogManager.getLogger(Test.class.getName());
設置裝備擺設文件地位位於:src根目次下,即便沒有設置裝備擺設文件的話也不會報錯,默許以console的情勢停止輸入。
log4j2設置裝備擺設文件與log4(1.X版本的有很年夜分歧),只能采取.xml、.json或許 .jsn格局,詳細設置裝備擺設以下(${web:rootDir}
表現web根目次):
<?xml version="1.0" encoding="UTF-8"?> <configuration status="error"> <!--先界說一切的appender--> <appenders> <!--這個輸入掌握台的設置裝備擺設--> <Console name="Console" target="SYSTEM_OUT"> <!--這個是輸入日記的格局--> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> </Console> <!--文件會打印出一切信息,這個log每次運轉法式會主動清空,由append屬性決議,合適暫時測試用--> <File name="Error" fileName="${web:rootDir}/logs/error.log" append="false"> <!--文件只記載level及以下級其余信息(onMatch),其他的直接謝絕(onMismatch)--> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout charset="UTF-8" pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> </File> <!--這個會打印出一切的信息,每次年夜小跨越size,則這size年夜小的日記會主動存入按年份-月份樹立的文件夾上面並停止緊縮,作為存檔--> <RollingFile name="RollingFile" fileName="${web:rootDir}/logs/history.log" filePattern="log/$${date:yyyy-MM}/history-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout charset="UTF-8" pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/> <SizeBasedTriggeringPolicy size="50MB"/> </RollingFile> </appenders> <!--然後界說logger,只要界說了logger並引入的appender,appender才會失效--> <loggers> <!--樹立一個默許的root的logger--> <root level="trace"> <appender-ref ref="Error"/> <appender-ref ref="RollingFile"/> <appender-ref ref="Console"/> </root> </loggers> </configuration>
4、通俗項目和web項目
關於通俗項目來說,停止以上設置裝備擺設完成後便可以正常應用,關於web項目來說,是不會生成日記文件的。須要在web.xml外面<web-app>
根節點下添加以下設置裝備擺設:
<!-- log4j2.x start --> <listener> <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class> </listener> <filter> <filter-name>log4jServletFilter</filter-name> <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class> </filter> <filter-mapping> <filter-name>log4jServletFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- log4j2.x end -->
總結
以上就是在在Java下應用log4j記載日記的辦法,願望這篇文章的內容對年夜家的進修或許任務能帶來必定的贊助,假如有疑問年夜家可以留言交換。感謝年夜家對的支撐。