log4j日志配置和使用

一、日志配置变量参数说明

1. 日志设置说明:
# log4j.rootLogger = debug,stdout,D,E
# 等号之后的值表示appender对象,每个apperder对象表示一个日志输出类型

# log4j.appender 之后的值是自定义的,表示输出的类型名称,具体的定义语法如下:
# log4j.appender.自定义的输出类型名.属性名=属性值
# 例如:log4j.appender.db 自定义输出类型名称为 db,如果db表示数据库 ,log4j.appender.db.url 表示数据库的url地址
# 目的地由后面的类决定:
# org.apache.log4j.ConsoleAppender 控制台
# org.apache.log4j.FileAppender 文件,文件路径及名称 若没有则自动创建
# 文件子类 org.apache.log4j.RollingFileAppender 按日志的大小滚动拆分日志文件
# 文件子类 org.apache.log4j.DailyRollingFileAppender 按一定的时间频率滚动拆分日志记录文件
# org.apache.log4j.jdbc.JDBCAppender 数据库

2. 输出到文件时的设置:
# log4j.appender.file 输出file是文件
# 常见属性有:
# log4j.appender.file.File 日志存储位置,例如:log4j.appender.E.File =D://WorkSpace/logs/error.log
# .Append 追加方式写入文件,默认为true
# .Threshold 写入的日志级别
# .layout 日志布局方式
# .conversionPattern 日志格式
# .ImmediateFlush true表示所有消息都会被立即输出,为false则不输出
# RollingFileAppender 类型还有下列参数:
# .maxFileSize 默认值是10MB,日志回滚最大值 例如:log4j.appender.FILE.MaxFileSize=1KB
# .maxBackupIndex 默认值是1,日志文件备份个数 例如:log4j.appender.FILE.MaxBackupIndex=1
# 说明:每个日志文件的最大值为1KB。最开始创建日志文件log.out,当超过日志文件最大值时,
# log.out.1新的日志文件将被创建。同时,log.out中的日志转移到log.out.1中(备份文件设置为1)。
# log.out日志文件永远写入最新日志
# DailyRollingFileAppender 类型还有下列参数:
# .DatePattern=‘.’yyyy-MM 每月 ‘.’yyyy-ww 每星期
# ‘.’yyyy-MM-dd 每天 ‘.’yyyy-MM-dd-a 每半天
# ‘.’yyyy-MM-dd-HH 每小时 ‘.’yyyy-MM-dd-HH-mm 每分钟

3. org.apache.log4j.db 输出到数据库
# 常见属性:
# .driver 设置驱动程序类为指定的字符串。如果没有指定驱动程序类,默认为sun.jdbc.odbc.JdbcOdbcDriver
# .url 设置JDBC URL
# .user 数据库用户名
# .password 数据库用密码
# .sql 指定SQL语句,在每次记录事件发生的时间执行。这可能是INSERT,UPDATE或DELETE 例如:INSERT INTO LOGS VALUES('%t','%d{yyyy-MM-dd}','%C','%p','%m')
# .bufferSize 设置缓冲区的大小。默认大小为1
# .layout 设置要使用的布局。默认布局org.apache.log4j.PatternLayout

 

二、配置示例

# 设置日志输出类型
log4j.rootLogger = debug,stdout,debug,error,db

# 输出信息到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
# 输出格式
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss, SSS} method:%l%n%m%n

# 输出 debug 级别以上的日志到D://sun//logs/error/debug.log
log4j.appender.debug = org.apache.log4j.RollingFileAppender
log4j.appender.debug.File = D://sun//logs/debug/debug.log
log4j.appender.debug.Append = true
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.maxFileSize=10kb
log4j.appender.debug.maxBackupIndex=1
log4j.appender.debug.layout = org.apache.log4j.PatternLayout
# 打印 debug 信息格式
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

#输出 error 级别以上的日志到 D://sun//logs/error/error.log
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File =D://sun//logs/error/error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.error.layout = org.apache.log4j.PatternLayout
# 打印ERROR信息格式
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

#将日志保存到数据库
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
# url链接
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# 驱动
log4j.appender.DB.driver=com.mysql.cj.jdbc.Driver
# 用户名
log4j.appender.DB.user=root
# 密码
log4j.appender.DB.password=123456
# 日志插入数据库 %d 日期 %C 类名 %p 优先级 %m 日志信息
log4j.appender.DB.sql=INSERT INTO LOGS VALUES('%t','%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')
# 日志布局方式
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

 

转载于:https://www.cnblogs.com/allensun12/p/11288920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值