【Java之轨迹】Log4j 配置(详细注释)

自己写一份模板备用~

① 配置文件

######## Log4j配置 ########

# 指定日志输出的级别和地方,第一个参数是级别
# 往后可以接多个参数,参数名自定义,下面要用到的,相当于声明变量~
log4j.rootLogger = debug,console,file,rollingFile,dailyFile,logDB

# 自定义 logger 实现控制日志输出,前缀 log4j.logger,后面加上类的全路径,等于号后边写级别和参数(同上,不写继承 root的)
# log4j.logger.com.xxx = error,xxx

#------ 输出到控制台 ------#
log4j.appender.console = org.apache.log4j.ConsoleAppender
# 指定输出格式,这里使用 PatternLayout 是自定义格式
log4j.appender.console.layout = org.apache.log4j.PatternLayout
#---- 指定消息内容的格式
# %p: 输出日志级别
# %d: 输出日期
# %l: 输出类名,线程以及在代码中的位置
# %m: 输出代码中指定的消息,产生的日志具体信息
# %n: 输出一个回车换行符
log4j.appender.console.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %l ==> %m%n


#------ 输出到文件 ------#
log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %l ==> %m%n
# 指定日志文件保存的路径
log4j.appender.file.file = d:/myLog/debug.log
# 指定字符集
log4j.appender.file.encoding = utf-8


#------ 按大小自动拆分的文件 ------#
log4j.appender.rollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %l ==> %m%n
# 指定日志文件保存的路径
log4j.appender.rollingFile.file = d:/myLog/rolling.log
# 指定字符集
log4j.appender.rollingFile.encoding = utf-8
# 指定单个日志文件最大的大小
log4j.appender.rollingFile.maxFileSize = 1MB
# 指定日志文件的最大个数,超过这个个数,最旧的日志文件将被覆盖
log4j.appender.rollingFile.maxBackupIndex = 10


#------ 按时间自动拆分的文件 ------#
log4j.appender.dailyFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyFile.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}] %l ==> %m%n
# 指定日志文件保存的路径
log4j.appender.dailyFile.file = d:/myLog/daily.log
# 指定字符集
log4j.appender.dailyFile.encoding = utf-8
# 指定日志拆分的规则,注意前面的点要用单引号,后面的时间要使用单杆-,如下写为每天生成一个
log4j.appender.dailyFile.datePattern = '.'yyyy-MM-dd


#------ 将日志文件写入到数据库 ------#
log4j.appender.logDB = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.logDB.layout = org.apache.log4j.PatternLayout
log4j.appender.logDB.Driver = com.mysql.jdbc.Driver
log4j.appender.logDB.URL = jdbc:mysql://xxx/xxx
log4j.appender.logDB.User = xxx
log4j.appender.logDB.password = xxx
log4j.appender.logDB.Sql = insert into t_log(log_project,log_level,create_date,log_category,log_line,log_message,log_file) values('IceClean','%p','%d{yyyy-MM-dd HH:mm:ss}','%l','%L','%m','%F')

② Appenders 日志输出地方

  • ConsoleAppender:输出到控制台
  • FileAppender:输出到文件
  • DailrRolingFileAppender:输出到文件,并且每天一个新文件
  • RollingFileAppender:输出到文件,并指定文件的尺寸,当文件大小达到尺寸时,自动将文件改名同时产生一个新的文件
  • JDBCAppender:输出到数据库

③ Layout 输出格式

  • %c:输出日志信息所属的类的全名
  • %d:输出日志时间点的日期或时间,如:%d{yyy-MM-dd HH:mm:ss }
  • %f:输出日志信息所属的类的类名
  • %l:输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
  • %m:输出代码中指定的信息
  • %n:输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
  • %p:输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  • %r:输出自应用启动到输出该日志信息所耗费的毫秒数
  • %t:输出产生该日志事件的线程名

动静分离,动静结合,以静为动(IceClean)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒冰小澈IceClean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值