這篇文章主要介紹“l(fā)ogger4j.properties和log4j.xml怎么配置”,在日常操作中,相信很多人在logger4j.properties和log4j.xml怎么配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”logger4j.properties和log4j.xml怎么配置”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
站在用戶的角度思考問題,與客戶深入溝通,找到江北網(wǎng)站設(shè)計與江北網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋江北地區(qū)。
log4j.xml的
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- * 1. 一個appender子元素定義一個日志輸出目的地 * 2. 一個logger子元素定義一個日志寫出器 --> <!-- catalina.out --> <appender name="consoleAppend" class="org.apache.log4j.ConsoleAppender" > <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p][%t][%c{1}]-[%M] %m%n" /> </layout> </appender> <!-- error log --> <appender name="errorAppend" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${webapp.root}/logs/error/error.html" /> <param name="Append" value="true" /> <param name="DatePattern" value="yyyy-MM-dd-HH-mm'.html'"/> <param name="MaxBackupIndex" value="10" /> <param name="MaxFileSize" value="4000000" /> <param name="encoding" value="utf-8"/> <layout class="org.apache.log4j.HTMLLayout"> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="ERROR" /> <param name="LevelMax" value="ERROR" /> </filter> </appender> <!-- biz --> <appender name="bizAppend" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${webapp.root}/logs/biz/biz.log" /> <param name="Append" value="true" /> <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" /> <param name="MaxBackupIndex" value="10" /> <param name="MaxFileSize" value="4096" /> <param name="encoding" value="utf-8"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[date:%d{yyyy-MM-dd HH:mm:ss}] %m%n" /> </layout> <filter class="com.raycloud.bizlogger.LoggerFilter"> <param name="LevelMin" value="40050" /> <param name="LevelMax" value="40050" /> </filter> </appender> <!-- 消費(fèi)者消費(fèi)的消息記錄 --> <appender name="taskExcutorAppend" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${webapp.root}/logs/excutor/excutor.log" /> <!-- 每小時1個文件 --> <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" /> <!-- 最大文件的size,單位:Kb,Mb... --> <param name="MaxFileSize" value="4096" /> <!-- 重啟了服務(wù)器之后,是否在原有文件的后面追加?true(默認(rèn)):追加;false:不追加 --> <param name="Append" value="true"/> <!-- 默認(rèn) MaxBackupIndex 為 1 --> <param name="MaxBackupIndex" value="10" /> <param name="Encoding" value="utf-8"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <!-- ProcessHandler的日志 --> <appender name="processHandlerAppend" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${webapp.root}/logs/process/process.log" /> <!-- 每小時1個文件 --> <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" /> <!-- 最大文件的size,單位:Kb,Mb... --> <param name="MaxFileSize" value="4096" /> <!-- 重啟了服務(wù)器之后,是否在原有文件的后面追加?true(默認(rèn)):追加;false:不追加 --> <param name="Append" value="true"/> <!-- 默認(rèn) MaxBackupIndex 為 1 --> <param name="MaxBackupIndex" value="10" /> <param name="Encoding" value="utf-8"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <!-- command node js的日志 --> <appender name="nodejsAppend" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${webapp.root}/logs/command/nodejs.log" /> <!-- 每小時1個文件 --> <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" /> <!-- 最大文件的size,單位:Kb,Mb... --> <param name="MaxFileSize" value="4096" /> <!-- 重啟了服務(wù)器之后,是否在原有文件的后面追加?true(默認(rèn)):追加;false:不追加 --> <param name="Append" value="true"/> <!-- 默認(rèn) MaxBackupIndex 為 1 --> <param name="MaxBackupIndex" value="10" /> <param name="Encoding" value="utf-8"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <!-- command ffmpeg的日志 --> <appender name="ffmpegAppend" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${webapp.root}/logs/command/ffmpeg.log" /> <!-- 每小時1個文件 --> <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" /> <!-- 最大文件的size,單位:Kb,Mb... --> <param name="MaxFileSize" value="4096" /> <!-- 重啟了服務(wù)器之后,是否在原有文件的后面追加?true(默認(rèn)):追加;false:不追加 --> <param name="Append" value="true"/> <!-- 默認(rèn) MaxBackupIndex 為 1 --> <param name="MaxBackupIndex" value="10" /> <param name="Encoding" value="utf-8"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <!-- logger的作用: 1.[name屬性]:指定你定義Logger對象時候的name 2. additivity : children-logger是否使用 rootLogger的配置, additivity在log4j默認(rèn)為true。這解釋了為什么有些時候,一個日志信息在屏幕上會有多次輸出。 3.還可以指定level(輸出級別)、appender-ref(指定哪個append) --> <!-- loggers --> <logger name="com.raycloud.picture.task.consumer.PictureVideoTaskExcutor" additivity="true"> <!-- 如果1個包想對應(yīng)多個 Appender 就這樣,對于每個Appender自定義的日志級別可以在Appender上加上filter --> <appender-ref ref="taskExcutorAppend" /> </logger> <logger name="com.raycloud.picture.task.handle.impl.DefaultVideoProcessorHandleImpl" additivity="true"> <appender-ref ref="processHandlerAppend" /> </logger> <logger name="com.raycloud.picture.service.command.NodeJsCommandInvoke" additivity="true"> <appender-ref ref="nodejsAppend" /> </logger> <logger name="com.raycloud.picture.service.command.FfmpegCommandInvoke" additivity="true"> <appender-ref ref="ffmpegAppend" /> </logger> <!-- root的作用(相當(dāng)于全局的意思): 1.[priority ]:指定默認(rèn)的全局輸出級別 2.[appender-ref ]:指定一些默認(rèn)的append(沒有指出特殊包或者類,即那些沒有指定<logger>元素的append)的輸出; --> <root> <priority value="INFO" /> <!-- 將 logger 中 additivity=true 的日志或者沒有指定<logger>的append輸出到控制臺 --> <appender-ref ref="consoleAppend" /> <!-- 將全局的 error 日志輸出到error文件中 --> <appender-ref ref="errorAppend" /> <appender-ref ref="bizAppend" /> </root> </log4j:configuration>
log4j.xml在web.xml中的配置
<!-- log4j --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j-server.xml</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>3000</param-value> </context-param> <!-- 先開啟Log4J,再去啟動spring等一些你需要的東西,有助于報錯時日志的輸出 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
log4j.properties配置
#################################################### # 將日志按照包分類輸出的配置文件 #################################################### #根針對所有的日志包 log4j.rootLogger = debug , appendConsole #下面兩個配置是指定包的特殊處理,針對兩個指定的日志級別,如果不指定的話則使用父日志記錄器(rootLogger)的,指定了就覆蓋掉了父日志記錄器的 #設(shè)置dao包的日志配置 log4j.logger.com.xun.log4j.dao = debug, appendDao #設(shè)置service包的日志配置 log4j.logger.com.xun.log4j.service = info, appendService #控制臺的配置 log4j.appender.appendConsole = org.apache.log4j.ConsoleAppender #Threshold:設(shè)置此appender的日志級別,這里會覆蓋全局的(rootLogger中)定義的日志級別 log4j.appender.appendConsole.Threshold = error #設(shè)置日志輸出編碼方式為UTF-8,如果不指定,會以當(dāng)前運(yùn)行操作系統(tǒng)的編碼方式記錄 log4j.appender.appendConsole.encoding = UTF-8 log4j.appender.appendConsole.layout = org.apache.log4j.SimpleLayout #appendDao配置 log4j.appender.appendDao = org.apache.log4j.FileAppender log4j.appender.appendDao.layout = org.apache.log4j.PatternLayout log4j.appender.appendDao.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss}]--[%t] [%p] -%l -%m%n%n log4j.appender.appendDao.Append = false log4j.appender.appendDao.File = e:/test/log4j/dao.txt #appendService log4j.appender.appendService = org.apache.log4j.FileAppender log4j.appender.appendService.layout = org.apache.log4j.PatternLayout log4j.appender.appendService.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss}]--[%t] [%p] -%l -%m%n%n log4j.appender.appendService.Append = false log4j.appender.appendService.File = e:/test/log4j/service.txt
//方式一:自動快速的使用Log4J缺省的環(huán)境 // BasicConfigurator.configure(); //方式二:讀取properties文件(自定義位置),但是注意這里文件的加載路徑 // PropertyConfigurator.configure("E:/workspace-idea/study-demo/log4j-test/src/main/resources/log4j/log4j.properties"); // PropertyConfigurator.configure(HowUseLog4JDemo.class.getClassLoader().getResource("log4j/log4j.properties").getFile()); //方式三:讀取XML文件 // DOMConfigurator.configure("xxx");
到此,關(guān)于“l(fā)ogger4j.properties和log4j.xml怎么配置”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站欄目:logger4j.properties和log4j.xml怎么配置
文章起源:http://aaarwkj.com/article4/pjcpie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、移動網(wǎng)站建設(shè)、App設(shè)計、網(wǎng)站維護(hù)、搜索引擎優(yōu)化、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)