Log4j配置

本文介绍了Log4j日志文件的重要作用,如诊断问题、追踪系统活动等,并详细讲解了如何配置根Logger、设定日志输出目的地(控制台、文件)、设置日志滚动策略以及布局和输出形式。
摘要由CSDN通过智能技术生成

log4j日志文件的作用:

日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。

level是日志记录的优先级,分为OFF,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,ALL 
           Log4j建议只使用四个级别,优先级从低到高分别是DEBUG,INFO,WARN,ERROR 
          

1.配置根Logger,其语法为:

log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …

appenderName就是指定日志信息输出到哪个地方。可同时指定多个输出目的 

2.配置日志信息输出目的地Appender(控制台):

log4j.rootLogger=DEBUGE, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

3.配置日志信息输出目的地文件:

log4j.rootLogger=DEBUGE, stdout
#针对哪个类进行日志记录
log4j.logger.edu.javaee.mybatis=DEBUG
log4j.appender.stdout=org.apache.log4j.FileAppender
log4j.appender.stdout.File= ./log/log.log
#log4j.appender.stdout.File = debug.html
#log4j.appender.stdout.File = debug.xml
log4j.appender.stdout.Append = true
#日志是否立刻输出
log4j.appender.stdout.ImmediateFlush = TRUE
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.Encoding = UTF-8
#设置页面布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#设置输出格式
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

4.配置文件输出到文件按照内存大小,当内存达到一定的时候就开始新建一个日志文件:

log4j.rootLogger=DEBUGE, stdout
#针对哪个类进行日志记录
log4j.logger.edu.javaee.mybatis=DEBUG
log4j.appender.stdout = org.apache.log4j.RollingFileAppender
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.File=./log/log.log
log4j.appender.stdout.Append = TRUE
#指定文件大小,可以是KB,MB,GB
log4j.appender.stdout.MaxFileSize = 2KB
#指定可以参生的滚动文件数
log4j.appender.stdout.MaxBackupIndex = 10
log4j.appender.stdout.Encoding = utf-8
#设置页面布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#设置输出格式
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

5.配置文件输出到文件按照日期进行新建日志文件:

log4j.rootLogger=DEBUGE, stdout
#针对哪个类进行日志记录
log4j.logger.edu.javaee.mybatis=DEBUG
log4j.appender.stdout = org.apache.log4j.DailyRollingFileAppender
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.ImmediateFlush = TRUE
##文件是追加还是覆盖 默认true将消息追加到指定文件中 false的话是覆盖文件
log4j.appender.stdout.Append = TRUE
#指定输出文件测试的时候需要修改时间
log4j.appender.stdout.File= ./log/log.log
log4j.appender.stdout.DatePattern=yyyy-MM-dd-HH-mm'.log'
##滚动文件周期
##'.'yyyy-MM:每月
##              '.'yyyy-ww:每周
##              '.'yyyy-MM-dd:每天
##              '.'yyyy-MM-dd-a:每天两次
##              '.'yyyy-MM-dd-HH:每小时
##              '.'yyyy-MM-dd-HH-mm:每分钟
log4j.appender.stdout.Encoding = UTF-8
#设置页面布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#设置输出格式
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

6.配置文件输出到数据库:

log4j.rootLogger=DEBUGE, database
log4j.appender.database = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.layout = org.apache.log4j.PatternLayout
log4j.appender.database.driver = com.mysql.jdbc.Driver
log4j.appender.database.URL = jdbc:mysql://127.0.0.1:3306/db_log4j?useSSL=false
log4j.appender.database.user = root
log4j.appender.database.password = 123456
log4j.appender.database.Sql = INSERT INTO t_log4j (project_name,create_date,level,category,file_name,thread_name,line,all_category,message) values ("MyBatis","%d{yyyy-MM-ddHH:mm:ss}","%p","%c","%F","%t","%L","%l","%m")

7.设置输出的页面布局

#灵活的指定布局模式
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

#以HTML表格形式布局
#log4j.appender.stdout.layout=org.apache.log4j.HTMLLayout

#SimpleLayout包含日志信息的级别和信息字符串
#log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

#TTCCLayout(包含日志产生的时间、线程、类别等等信息)
#log4j.appender.stdout.layout=org.apache.log4j.TTCCLayout

#XMLLayout(以XML形式布局)
#log4j.appender.stdout.layout=org.apache.log4j.xml.XMLLayout

8.设置日志的输出形式:

//输出格式1
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
//输出格式2
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值