log4j相关配置

基本介绍

log4j是日志的一种,其中定义了6种日志级别:fatal(可能引起系统崩溃),error(不会影响系统运行),warn(警告),info(记录些数据库连接,网络信息等),debug(测试阶段用),trace(追踪信息)。

log4j中有两个比较重要的东西:appender和layout,和JUL中的handler和format类似,分别用于指定输出位置和输出的格式。

log4j的底层会去读取类路径下的log4j.properties配置文件,因此必须将此文件放在类路径的根目录下,切记这一点。

log4j可以将日志输出到三个地方,分别是控制台,文件和数据库,在下面只是演示了输出到控制台和输出到文件,输出到文件可以设置为按文件大小拆分和按时间拆分。

log4j默认的logger都继承rootLogger,不过我们可以自定义logger,这样当获取logger,若获取的looger名字和我们自定义的logger名字一样就用我们自定义的,若不同则继承了顶级父元素rootLogger。
在这里插入图片描述

#指定顶级父元素rootLogger的配置信息,即当获取Logger对象时,若不是自定义的Logger对象,则都继承这个rootLogger
#指定日志级别为warn,appender为consoleName(即该appender的名字由我们自定义)
log4j.rootLogger = trace,consoleName


#自定义Logger对象
log4j.logger.loggerName = warn,consoleName

输出到控制台

在这里插入图片描述

#指定控制台输出的appender,即给我们自定义一个appender
log4j.appender.consoleName = org.apache.log4j.ConsoleAppender
#指定消息格式layout,即给我们自定义的appender设置一个layout
log4j.appender.consoleName.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleName.layout.conversionPattern = date:%d{yyyy-MM-dd HH:mm:ss} --- info:%l--- message:[%-10m]%n

输出到文件,log4j在底层已经打开了日志追加,但是JUL没有开启,需要手动开启

在这里插入图片描述
在这里插入图片描述

#指定文件输出的appender,即给我们自定义一个appender
log4j.appender.fileName = org.apache.log4j.FileAppender
#指定消息格式layout,即给我们自定义的appender设置一个layout
log4j.appender.fileName.layout = org.apache.log4j.PatternLayout
log4j.appender.fileName.layout.conversionPattern = date:%d{yyyy-MM-dd HH:mm:ss} --- info:%l--- message:[%-10m]%n
#设置日志文件的保存路径
log4j.appender.fileName.file = D:\\log4j.log
#设置日志文件的编码方式
log4j.appender.fileName.encoding = UTF-8

#按照文件大小进行拆分的appender对象
log4j.appender.rollingFileName = org.apache.log4j.RollingFileAppender
#指定消息格式layout,即给我们自定义的appender设置一个layout
log4j.appender.rollingFileName.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFileName.layout.conversionPattern = date:%d{yyyy-MM-dd HH:mm:ss} --- info:%l--- message:[%-10m]%n
#设置日志文件的保存路径
log4j.appender.rollingFileName.file = D:\\log4j.log
#设置日志文件的编码方式
log4j.appender.rollingFileName.encoding = UTF-8
#指定日志文件的大小
log4j.appender.rollingFileName.maxFileSize = 1MB
#指定日志文件的数量
log4j.appender.rollingFileName.maxBackupIndex = 10

#按照日期进行拆分的appender对象
log4j.appender.dailyRollingFileName = org.apache.log4j.DailyRollingFileAppender
#指定消息格式layout,即给我们自定义的appender设置一个layout
log4j.appender.dailyRollingFileName.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFileName.layout.conversionPattern = date:%d{yyyy-MM-dd HH:mm:ss} --- info:%l--- message:[%-10m]%n
#设置日志文件的保存路径
log4j.appender.dailyRollingFileName.file = D:\\log4j.log
#设置日志文件的编码方式
log4j.appender.dailyRollingFileName.encoding = UTF-8
#指定日期的拆分规则
log4j.appender.dailyRollingFileName.datePattern = '.'yyyy-MM-dd-HH-mm-ss

ConversionPattern的格式

%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名

可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。
如:
(1)%5c:指定输出category的名称,最小的宽度是5,如果category的名称小于5的话,默认的情况下右对齐。
(2)%-5c:指定输出category的名称,最小的宽度是5,如果category的名称小于5的话,”-“号指定左对齐。
(3)%.5c:指定输出category的名称,最大的宽度是5,如果category的名称大于5的话,就会将左边多出的字符截掉,但小于5的话也不会有空格。
(4)%5.10c:如果category的名称小于5就补空格,并且右对齐,如果其名称长于10字符,就从左边交远销出的字符截掉

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值