项目日志配置详解

这篇博客主要来讲讲关于log4j.properties的具体配置,关于log4j.properties外的其他配置可以看我上一篇博客即可
https://blog.csdn.net/weixin_40496191/article/details/104960611
一、 日志参数使用指导

  1. log4j.properties配置
    1.1. 设置根配置(配置日志输出级别以及输出目的地)
    1.2. 根据根配置,再对输出目的地进行详细配置,包括输出目的地的指定和name命名,输出级别、输出布局(自定义布局需要配置输出格式)等
  2. 日志输出级别规则
    2.1. log4j全部输出优先级OFF>FATAL>ERROR>WARN>INFO>DEBUG>log>ALL
    2.2. log4j常用的输出优先级FATAL>ERROR>WARN>INFO>DEBUG,如log4j.rootLogger=IERROR,则是输出FATAL,ERROR
    2.3. 默认使用根配置的输出级别,后面每个子项目也可以重新定义输出级别,但是输出级别是在根设置的基础上减小范围
  3. 日志输出目的地
    3.1. 输出到控制台:org.apache.log4j.ConsoleAppender
    3.2. 输出到日志文件: org.apache.log4j.FileAppender
    3.3 输出到日志文件(每天生成一个文件):org.apache.log4j.ConsoleAppender
    3.4 输出到日志文件(达到一定大小新生成一个文件):org.apache.log4j.RollingFileAppender
    3.5 输出到数据库: org.apache.log4j.jdbc.JDBCAppender
    3.6 输出到邮件: org.apache.log4j.net.SMTPAppender
    3.7 输出到任意指定地方(流形式): org.apache.log4j.net.SMTPAppender
  4. 日志输出布局
    4.1. 打印日志级别+日志信息:org.apache.log4j.SimpleLayout
    4.2. 打印线程+日志级别+日志产生所在的类+日志信息:org.apache.log4j.TTCCLayout
    4.3. 自定义日志输出格式:org.apache.log4j.PatternLayout
    4.4. 以html的形式打印日志:org.apache.log4j.HTMLLayout(个人觉得不常用)
  5. 日志输出格式(只有为自定义布局才有效)
    5.1.换行:%n
    5.2.日志内容 :%m
    5.3.日志级别:%p
    5.4.程序启动到现在的毫秒数 :%r
    5.5.当前线程名 :%t
    5.6.日志时间:%d %d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}, %d{ddMMyyyy HH:mm:ss,SSS}
    5.7.输出最后一个元素 :%C{1}
    5.8.java源码行数 :%L
    5.9.java类名:%C
    5.10.java源文件名 :%f
    5.11.java方法名 :%M
    5.12.输出一个百封号:%%
    5.13.%F%L%C%M缩写,相当于输出详细报错位置:%l

二、 具体配置

  1. 根配置
#根配置,即配置日志的输出目的地与输出级别,,多个输出目的地用“,”隔开
#这里是配置输出到控制、与日志文件、数据库,名字可以自定义但必须和后面的配置相同
log4j.rootLogger=info,console,File,FileOfDaily,FileOfSize,DATABASE
  1. 日志–>控制台
#日志输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
#控制台布局
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#控制台级别
log4j.appender.console.Threshold=info
#控制台输出格式
log4j.appender.console.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
  1. 日志–>日志文件
#每天生成一个日志文件(定义日志文件名字为File,后面同理)
log4j.appender.File=org.apache.log4j.FileAppender
#日志文件输出地址(${catalina.base}为当前tomcat服务器的根目录)
log4j.appender.File.File=G:/file.log
#日志文件输出布局
log4j.appender.File.layout=org.apache.log4j.PatternLayout
#日志文件输出格式
log4j.appender.File.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#日志文件的输出级别
log4j.appender.File.Threshold=ERROR
  1. 日志–>日志文件(每天自动新生成)
#每天生成一个日志文件
log4j.appender.FileOfDaily=org.apache.log4j.DailyRollingFileAppender
#日志文件输出地址(${catalina.base}为当前tomcat服务器的根目录)
log4j.appender.FileOfDaily.File=G:/FileOfDaily.log
#日志文件输出布局
log4j.appender.FileOfDaily.layout=org.apache.log4j.PatternLayout
#日志文件输出格式
log4j.appender.FileOfDaily.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#日志文件的输出级别
log4j.appender.FileOfDaily.Threshold=ERROR
  1. 日志–>日志文件(达到大小新生成)
#每天生成一个日志文件
log4j.appender.FileOfSize=org.apache.log4j.RollingFileAppender
#日志文件输出地址(${catalina.base}为当前tomcat服务器的根目录)
log4j.appender.FileOfSize.File=G:/FileOfSize.log
#日志文件输出布局
log4j.appender.FileOfSize.layout=org.apache.log4j.PatternLayout
#日志文件输出格式
log4j.appender.FileOfSize.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#日志文件的输出级别
log4j.appender.FileOfSize.Threshold=ERROR
#指定文件大小
log4j.appender.FileOfSize.MaxFileSize=2KB
#指定新建日志文件数量
#log4j.appender.FileOfSize.MaxBackupIndex=3
  1. 日志–>数据库
#配置输出到数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#数据库URL
log4j.appender.DATABASE.URL=jdbc\:oracle\:thin\:@localhost\:1521\:orcl
#数据库driver
log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
#数据库用户
log4j.appender.DATABASE.user=scott
#数据库密码
log4j.appender.DATABASE.password=oracle
#数据库sql
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('%m')
#数据库布局
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
#数据库格式
#log4j.appender.DATABASE.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
log4j.appender.DATABASE.layout.ConversionPattern=message: %m
#数据库级别
log4j.appender.DATABASE.Threshold=error
  1. 日志–>邮件
#配置输出类型
log4j.appender.email=org.apache.log4j.net.SMTPAppender
#配置级别
log4j.appender.email.Threshold=ERROR
#配置流大小
log4j.appender.email.BufferSize=10
#设置SMTP服务器(QQ邮箱),需要导入activation.jar和mail.jar
log4j.appender.email.SMTPHost=smtp.exmail.qq.com
#设置主题
log4j.appender.email.Subject=errorMessage
#设置发件人
log4j.appender.email.From=XXXXXX@qq.com
#设置收件人
log4j.appender.email.To=XXXXXX@qq.com
#发件箱登陆用户名
log4j.appender.MAIL.SMTPUsername=XXXXXX@qq.com
#发件箱登陆密码
log4j.appender.MAIL.SMTPPassword=XXXXXX
#自定义布局
log4j.appender.email.layout=org.apache.log4j.PatternLayout
#日志输出格式
log4j.appender.email.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#需要activation.jar和mail.jar支持,同时需要配置邮箱,具体可以参考https://www.jb51.net/softjc/266263.html

如果有不足的欢迎补充与提问!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值