十八、MyBaits日志之LOG4J
Log4j:
- Log4j是Apache的一个开源项目
- 控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;
- 控制每一条日志的输出格式;
- 通过定义每一条日志信息的级别,制日志的生成过程。
- 通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
1. pom.xml
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2. log4j.properties
#1. 根日志
# log4j.rootLogger日志输出类别和级别:只输出不低于该级别的日志信息DEBUG < INFO < WARN < ERROR < FATAL
# DEBUG:日志级别 logfile1:输出位置自己定义的一个名字 logfile2:输出位置自己定义的一个名字
# 两个输出位置(可以定义更多):logfile1和logfile2
log4j.rootLogger=DEBUG,logfile1,logfile2
#1.1 根日志->控制台日志
# 配置logfile1输出到控制台
log4j.appender.logfile1=org.apache.log4j.ConsoleAppender
# 配置logfile1设置为自定义布局模式
log4j.appender.logfile1.layout=org.apache.log4j.PatternLayout
# 配置logfile1日志的输出格式 [frame] 2019-08-22 22:52:12,000 %r耗费毫秒数 %p日志的优先级 %t线程名 %C所属类名通常为全类名 %L代码中的行号 %x线程相关联的NDC %m日志 %n换行
log4j.appender.logfile1.layout.ConversionPattern=[frame] %d{yyyy-MM-dd HH:mm:ss,SSS} - %-4r %-5p [%t] %C:%L %x - %m%n
#1.2 根日志->文件日志
# 配置logfile2输出到文件中 文件大小到达指定尺寸的时候产生新的日志文件
log4j.appender.logfile2=org.apache.log4j.RollingFileAppender
# 保存编码格式
log4j.appender.logfile2.Encoding=UTF-8
# 输出文件位置此为项目根目录下的logs文件夹中
log4j.appender.logfile2.File=logs/root.log
# 后缀可以是KB,MB,GB达到该大小后创建新的日志文件
log4j.appender.logfile2.MaxFileSize=10MB
# 设置滚定文件的最大值3 指可以产生root.log.1、root.log.2、root.log.3和root.log四个日志文件
log4j.appender.logfile2.MaxBackupIndex=3
# 配置logfile为自定义布局模式
log4j.appender.logfile2.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
#2. 其他日志
#2.1 org.zx包下的日志单独输出:log4j.additivity.org.zx=false
log4j.logger.org.zx=DEBUG,MyBaits3
# 设置为false该日志信息就不会加入到rootLogger中了
log4j.additivity.org.zx=false
# 下面就和上面配置一样了
log4j.appender.MyBaits3=org.apache.log4j.RollingFileAppender
log4j.appender.MyBaits3.Encoding=UTF-8
log4j.appender.MyBaits3.File=logs/m3.log
log4j.appender.MyBaits3.MaxFileSize=10MB
log4j.appender.MyBaits3.MaxBackupIndex=3
log4j.appender.MyBaits3.layout=org.apache.log4j.PatternLayout
log4j.appender.MyBaits3.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n