Log4J日志配置

来源:互联网 发布:没有激素的护肤品知乎 编辑:程序博客网 时间:2024/06/06 20:27

一、Log4j简介

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。

1、Loggers

Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。

                            主要实现每天打印一个日志文件
### 设置###log4j.rootLogger=DEBUG,CONSOLE,Alog4j.addivity.org.apache=false### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 输出到日志文件 ###log4j.appender.A = org.apache.log4j.DailyRollingFileAppender###设置DatePattern,当天日志保存到Logs文件,前一天的日志文件名将被修改为#Logs + _yyyy-MM-dd.log#File :D盘下,这里你可以按自己实际情况进行修改log4j.appender.A.File =D\:/Log/DEBUG/Logslog4j.appender.A.DatePattern = '_'yyyy-MM-dd'.log'log4j.appender.A.Append = true## 输出DEBUG级别以上的日志log4j.appender.A.Threshold = DEBUGlog4j.appender.A.layout = org.apache.log4j.PatternLayoutlog4j.appender.A.layout.ConversionPattern=[sys]  %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n### 保存异常信息到单独文件 ###log4j.appender.A = org.apache.log4j.DailyRollingFileAppender###设置DatePattern,当天日志保存到error文件,前一天的日志文件名将被修改为#error + _yyyy-MM-dd.log#File :D盘下,这里你可以按自己实际情况进行修改log4j.appender.A.File =D\:/Log/ERROR/errorlog4j.appender.A.DatePattern = '_'yyyy-MM-dd'.log'log4j.appender.A.Append = true## 只输出ERROR级别以上的日志!!!log4j.appender.A.Threshold = ERRORlog4j.appender.A.layout = org.apache.log4j.PatternLayoutlog4j.appender.A.layout.ConversionPattern =[sys]  %-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n

以上方法对于日志文件较大的情况就不适合了,,不建议把一个项目的所有的日志输出到同一文件下,虽然日志设置了一天生成一个日志,,这样难免会遇到一天的日志文件过大造成无法打开的情况。几百兆的的大小使用(Notepad++)或者(EditPlus)可以轻松打开,但是达到1G以上的话就不行了(当时遇到过一个1.7G大小的日志文件就打不开了)。
解决办法:把项目各功能模块日志分开输出:

最终效果图:
日志文件夹a:

这里写图片描述

日志文件夹b:

这里写图片描述

log4j配置:

log4j.logger.myLog1= DEBUG, Log1log4j.appender.Log1=org.apache.log4j.FileAppenderlog4j.appender.Log1 = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.Log1.File=D\:/sendmessage1/a/Logslog4j.appender.Log1.DatePattern = '_'yyyy-MM-dd'.log'log4j.appender.Log1.Append = truelog4j.appender.Log1.Threshold = DEBUGlog4j.appender.Log1.layout=org.apache.log4j.PatternLayoutlog4j.appender.Log1.layout.ConversionPattern=[sendmessage-sys]  %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n  log4j.logger.myLog2= DEBUG, Log2log4j.appender.Log2=org.apache.log4j.FileAppenderlog4j.appender.Log2 = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.Log2.File=D\:/sendmessage1/b/Logslog4j.appender.Log2.DatePattern = '_'yyyy-MM-dd'.log'log4j.appender.Log2.Append = truelog4j.appender.Log2.Threshold = DEBUGlog4j.appender.Log2.layout=org.apache.log4j.PatternLayoutlog4j.appender.Log2.layout.ConversionPattern=[sendmessage-sys]  %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n
原创粉丝点击