Log4j 配置 按照文件大小 和 按日期分割的日志文件
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件
log4j-1.2.17.jar:https://repo1.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar
Maven
<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
一、按文件大小分割日志文件
效果如下
log4j.properties 配置文件
### 将等级为debug的日志输出到console和file, console和file的定义在下面 ### log4j.rootLogger = DEBUG,console,file ### console 配置输出到控制台 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.Threshold = DEBUG log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = [%c] - %m%n #log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n ### file 配置输出到文件 ### ### RollingFileAppender: 以文件大小分割达到指定大小就产生新文件, MaxFileSize: 指定文件大小, MaxBackupIndex: 最多保存多少个文件 ### log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.MaxFileSize = 10kb log4j.appender.file.MaxBackupIndex = 10 log4j.appender.file.File = logs/log.log log4j.appender.file.Threshold = DEBUG log4j.appender.file.Append = true log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH:mm:ss}] [%c]%m%n #log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ### log4j.logger.org.mybatis=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG #log4j.logger.java.sql.Connection=DEBUG
二、按日期分割每天产生一个日志文件
效果如下
log4j.properties 配置文件
### 将等级为debug的日志输出到console和file, console和file的定义在下面 ### log4j.rootLogger = DEBUG,console,file ### console 配置输出到控制台 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.Threshold = DEBUG log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = [%c] - %m%n #log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n ### file 配置输出到文件 ### ### DailyRollingFileAppender: 以日期分割每天产生一个文件, DatePattern: 日志文件名称格式 ### log4j.appender.file = org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern = '_'yyyy-MM-dd'.log' log4j.appender.file.File = logs/log.log log4j.appender.file.Threshold = DEBUG log4j.appender.file.Append = true log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH:mm:ss}] [%c]%m%n #log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ### log4j.logger.org.mybatis=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG #log4j.logger.java.sql.Connection=DEBUG
如果 DatePattern 配置为
log4j.appender.file.DatePattern = '_'yyyy-MM-dd-HH'.log'
则可以实现按小时 创建日志文件
三、控制某个类是否输出日志
#log4j.logger.org.eclipse.jetty=OFF #log4j.logger.org.apache.http=OFF #log4j.logger.io.netty=OFF #log4j.logger.com.joincall.j3c.pbxlangshi=ON #log4j.logger.com.joincall.j3c.agentservice=ON #log4j.logger.com.joincall.j3c.JoinCallCC=ON
分类:
Java
, Java Maven
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)