日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例

發(fā)布時(shí)間:2024/9/27 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.Slf4j使用log4j的配置參數(shù)

轉(zhuǎn)自:https://blog.csdn.net/yx0628/article/details/83214387

slf4j,即簡(jiǎn)單日志門(mén)面(Simple Logging Facade for Java),不是具體的日志解決方案,它只服務(wù)于各種各樣的日志系統(tǒng)。按照官方的說(shuō)法,SLF4J是一個(gè)用于日志系統(tǒng)的簡(jiǎn)單Facade,允許最終用戶在部署其應(yīng)用時(shí)使用其所希望的日志系統(tǒng)。比如用戶可以自己選擇使用 log4j 或是 log4j2 。

1.1.Sl4J的maven配置如下:

<!--日志 start--> <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version> </dependency> <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version> </dependency>

1.2.關(guān)于具體的配置 log4j.properties:

### 設(shè)置rootLogger ### log4j.rootLogger = info,stdout,D,E### 輸出信息到控制臺(tái) ### ### 控制臺(tái)輸出 log4j.appender.stdout = org.apache.log4j.ConsoleAppender ### 默認(rèn)是system.out,如果system.err是紅色提示 log4j.appender.stdout.Target = System.out ### 布局格式,可以靈活指定 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout ### 消息格式化 log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 輸出INFO 級(jí)別以上的日志到=D://logs/error.log ### ### 以每天一個(gè)文件輸出日志 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender ### 輸出文件目錄 log4j.appender.D.File = D://logs/log.log ### 消息增加到指定的文件中,false表示覆蓋指定文件內(nèi)容 log4j.appender.D.Append = true ### 輸出信息最低級(jí)別 log4j.appender.D.Threshold = INFO log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### 輸出ERROR 級(jí)別以上的日志到=D://logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =D://logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

1.3.日志級(jí)別

主要有以下:
?ERROR錯(cuò)誤
?WARN警告
?INFO一般信息
?DEBUG調(diào)試信息

1.4.常用的輸出位置

?ConsoleAppender控制臺(tái)
?FileAppender文件
?DailyRollingFileAppender 每天產(chǎn)生一個(gè)日志文件
?RollingFileAppender 文件大小達(dá)到指定尺寸時(shí)產(chǎn)生一個(gè)新文件
?WriterAppeder 將日志信息以流格式發(fā)送到指定地方

1.5.格式化輸出

-X號(hào): X信息輸出時(shí)左對(duì)齊; %p: 輸出日志信息優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,FATAL, %d: 輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},輸出類(lèi)似:20021018221028921 %r: 輸出自應(yīng)用啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù) %c: 輸出日志信息所屬的類(lèi)目,通常就是所在類(lèi)的全名 %t: 輸出產(chǎn)生該日志事件的線程名 %l: 輸出日志事件的發(fā)生位置,相當(dāng)于%C.%M(%F:%L)的組合,包括類(lèi)目名、發(fā)生的線程,以及在代碼中的行數(shù)。舉例:Testlog4.main (TestLog4.java:10) %x: 輸出和當(dāng)前線程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像Java servlets這樣的多客戶多線程的應(yīng)用中。 %%: 輸出一個(gè)”%”字符 %F: 輸出日志消息產(chǎn)生時(shí)所在的文件名稱(chēng) %L: 輸出代碼中的行號(hào) %m: 輸出代碼中指定的消息,產(chǎn)生的日志具體信息有時(shí)我們看到 %-5p 或者 %5p 意思就是輸出日志級(jí)別時(shí),左對(duì)齊或右對(duì)齊,4個(gè)字母的 INFO / WARN 要補(bǔ)一個(gè)空格,才能和 DEBUG / ERROR對(duì)齊格式。

1.6.配置sl4j/log4j輸出到不同的文件

轉(zhuǎn)自:https://blog.csdn.net/yx0628/article/details/83216568

在實(shí)際中,我們可能想要將不同類(lèi)型的日志分類(lèi)輸出到不同的文件中。

例如將日志分別輸出到demo1.log , demo2.log, demo3.log

編寫(xiě)log4j.properties,內(nèi)容如下:

system.logPath=D:/logs/ log4j.rootLogger=INFO,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.demo1=INFO,demo1 log4j.appender.demo1=org.apache.log4j.DailyRollingFileAppender log4j.appender.demo1.File=${system.logPath}/demo1.log log4j.appender.demo1.DatePattern='.'yyyy-MM-dd log4j.appender.demo1.layout=org.apache.log4j.PatternLayout log4j.appender.demo1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} INFO - %m%nlog4j.logger.demo2=INFO,demo2 log4j.appender.demo2=org.apache.log4j.DailyRollingFileAppender log4j.appender.demo2.File=${system.logPath}/demo2.log log4j.appender.demo2.DatePattern='.'yyyy-MM-dd log4j.appender.demo2.layout=org.apache.log4j.PatternLayout log4j.appender.demo2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} INFO - %m%nlog4j.logger.demo3=INFO,demo3 log4j.appender.demo3=org.apache.log4j.DailyRollingFileAppender log4j.appender.demo3.File=${system.logPath}/demo3.log log4j.appender.demo3.DatePattern='.'yyyy-MM-dd log4j.appender.demo3.layout=org.apache.log4j.PatternLayout log4j.appender.demo3.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} INFO - %m%n

在程序中,我們配置對(duì)應(yīng)logger時(shí),通過(guò)聲明的demo1,demo2,demo3來(lái)獲取loggere對(duì)象。

public class LogTest {private static Logger alogger = LoggerFactory.getLogger("demo1");private static Logger blogger = LoggerFactory.getLogger("demo2");private static Logger clogger = LoggerFactory.getLogger("demo3");public static void main(String[] args) throws IOException {alogger.info("aaaaaaa");blogger.info("bbbbbbb");clogger.info("ccccccc");}}

輸出結(jié)果在3個(gè)文件中:

1.7.案例

1.7.1.工程結(jié)構(gòu)

1.7.2.配置中添加pom依賴

<!--日志 start--> <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version> </dependency> <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version> </dependency>

1.7.3.log4j.properties的內(nèi)容如下:

#log4j.rootLogger=INFO,stdout log4j.rootLogger=INFO,LOG_DEBUG,LOG_INFO,LOG_ERRORlog4j.appender.LOG_DEBUG=org.apache.log4j.RollingFileAppender log4j.appender.LOG_DEBUG.File=logs/collector.debug log4j.appender.LOG_DEBUG.MaxBackupIndex=10 log4j.appender.LOG_DEBUG.Threshold=DEBUG log4j.appender.LOG_DEBUG.MaxFileSize=128MB log4j.appender.LOG_DEBUG.Encoding=UTF-8 log4j.appender.LOG_DEBUG.layout=org.apache.log4j.PatternLayout log4j.appender.LOG_DEBUG.layout.ConversionPattern=%d %-4r [%t] %-5p %c(line-%L) - %m%nlog4j.appender.LOG_INFO=org.apache.log4j.RollingFileAppender log4j.appender.LOG_INFO.File=logs/collector.log log4j.appender.LOG_INFO.MaxBackupIndex=10 log4j.appender.LOG_INFO.Threshold=INFO log4j.appender.LOG_INFO.MaxFileSize=64MB log4j.appender.LOG_INFO.Encoding=UTF-8 log4j.appender.LOG_INFO.layout=org.apache.log4j.PatternLayout log4j.appender.LOG_INFO.layout.ConversionPattern=%d %-4r [%t] %-5p %c(line-%L) - %m%nlog4j.appender.LOG_ERROR=org.apache.log4j.RollingFileAppender log4j.appender.LOG_ERROR.File=logs/collector.error log4j.appender.LOG_ERROR.MaxBackupIndex=10 log4j.appender.LOG_ERROR.Threshold=ERROR log4j.appender.LOG_ERROR.MaxFileSize=64MB log4j.appender.LOG_ERROR.Encoding=UTF-8 log4j.appender.LOG_ERROR.layout=org.apache.log4j.PatternLayout log4j.appender.LOG_ERROR.layout.ConversionPattern=%d %-4r [%t] %-5p %c(line-%L) - %m%n## ·¢?í±¨?ˉê±????è???ó? log4j.logger.ALARM=INFO,ALARM log4j.appender.ALARM=org.apache.log4j.RollingFileAppender log4j.appender.ALARM.File=logs/collector_alarm.info log4j.appender.ALARM.MaxBackupIndex=10 log4j.appender.ALARM.Threshold=INFO log4j.appender.ALARM.MaxFileSize=64MB log4j.appender.ALARM.Encoding=UTF-8 log4j.appender.ALARM.layout=org.apache.log4j.PatternLayout log4j.appender.ALARM.layout.ConversionPattern=%d %-4r [%t] %-5p %c(line-%L) - %m%n log4j.additivity.ALARM=false# ============================================================================================================#system.logPath=D:/logs/ system.logPath=logs/ log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.demo1=INFO,demo1 log4j.appender.demo1=org.apache.log4j.DailyRollingFileAppender log4j.appender.demo1.File=${system.logPath}/demo1.log log4j.appender.demo1.DatePattern='.'yyyy-MM-dd log4j.appender.demo1.layout=org.apache.log4j.PatternLayout log4j.appender.demo1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} INFO - %m%nlog4j.logger.demo2=INFO,demo2 log4j.appender.demo2=org.apache.log4j.DailyRollingFileAppender log4j.appender.demo2.File=${system.logPath}/demo2.log log4j.appender.demo2.DatePattern='.'yyyy-MM-dd log4j.appender.demo2.layout=org.apache.log4j.PatternLayout log4j.appender.demo2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} INFO - %m%nlog4j.logger.demo3=INFO,demo3 log4j.appender.demo3=org.apache.log4j.DailyRollingFileAppender log4j.appender.demo3.File=${system.logPath}/demo3.log log4j.appender.demo3.DatePattern='.'yyyy-MM-dd log4j.appender.demo3.layout=org.apache.log4j.PatternLayout log4j.appender.demo3.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} INFO - %m%n

1.7.4.Java代碼LoggerTest

package demo;import org.apache.log4j.Logger;public class LoggerTest {private static final Logger ALARM = Logger.getLogger("ALARM");private static final Logger LOG = Logger.getLogger("LOG_INFO");public static void main(String[] args) {LOG.info("LOG info");LOG.warn("LOG war");LOG.error("LOG error");//LOG.error("LOG error");ALARM.info("ALARM info ");//ALERTLOG.error("ALERTLOG xxxxx ");}}

1.7.5.LogTest

package demo;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class LogTest {private static final Logger logger1 = LoggerFactory.getLogger("demo1");private static final Logger logger2 = LoggerFactory.getLogger("demo2");private static final Logger logger3 = LoggerFactory.getLogger("demo3");private static final Logger ALARM = LoggerFactory.getLogger("ALARM");public static void main(String[] args) {logger1.info("aaaaaaa {}","xxx");logger2.info("bbbbbbb");logger3.info("ccccccc");ALARM.info("alarm xxxx {}", "yyyyyy");}}

日志目錄:

總結(jié)

以上是生活随笔為你收集整理的1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品一区三区 | 久久理论片 | 国产成人精品无码免费看在线 | 成年人视频在线观看免费 | 波多野在线 | 中文字幕日本视频 | 成人黄色av网站 | 岛国一区二区三区 | 色呦呦官网 | 97人妻一区二区精品免费视频 | 久久久精品国产sm调教 | 一级视频在线观看 | 国产精品一区二区在线看 | 香港三级日本三级三69 | 国产精品国产三级国产Av车上的 | 国产色在线观看 | 欧美日韩一区不卡 | 日韩女优网站 | 伊人久久综合视频 | 丰满人妻一区二区三区46 | 裸体女视频 | 国产精品av久久久久久无 | 午夜一区二区三区四区 | 内射合集对白在线 | 国产一区二区视频在线观看 | 久久在线免费观看视频 | 四虎久久久 | 首尔之春在线观看 | 欧美日韩一区二区三区免费 | 手机在线看片福利 | 国产精品av在线 | 国产精品视频一区二区在线观看 | 91porn破解版| 国产一二精品 | 成人毛片18女人 | 国产精品久久综合视频 | 久久久久久久久久久久Av | www.av88| 国产片高清在线观看 | 美女激情网 | 国产在线视频网址 | 91av一区| 天天激情| 青青操免费 | 久久久久三级 | 日韩大尺度在线观看 | 国产欧美又粗又猛又爽 | 欧美一区二区三区网站 | 午夜婷婷色 | 国产超碰精品 | 最好看的2019年中文视频 | 苍井空亚洲精品aa片在线播放 | 午夜久久久久久 | 日本xxxx色 | 欧美日韩另类视频 | 色老板精品凹凸在线视频观看 | 91av看片 | 都市激情中文字幕 | 黄色a级片视频 | www.爆操| 少妇精品久久久久www | 在线观看 中文字幕 | 综合久久五月 | 欧美三个黑人玩3p | 日韩av图片| 欧美性猛交ⅹ乱大交3 | 精品免费在线 | аⅴ天堂中文在线网 | 亚洲精品在线观看网站 | 99在线无码精品入口 | 欧美亚洲精品在线观看 | 国产主播啪啪 | 中文字字幕在线中文乱码 | 亚洲熟女少妇一区 | 老司机在线永久免费观看 | 国产成人精品无码免费看在线 | 天堂8在线天堂资源bt | 国产91精品一区二区绿帽 | 性久久久久久久久久久 | 欧美精品性视频 | 操比视频网站 | 中国老头同性xxxxx | 国产中出 | 91精品国产综合久久香蕉 | 初音未来打屁股 | 好屌妞视频这里只有精品 | 在线看黄网站 | 国产一级二级av | 善良的女朋友在线观看 | 欧美美女喷水 | 久操精品视频 | 日韩激情视频 | 久久久国产精华液 | 欧美一二三级 | 亚洲夜夜操| 国产精品无 | 亚洲一区二区三区三州 | 毛片内射久久久一区 | 综合色伊人 |