Log4j使用介绍

Log4j配置

配置文件

  • XML文件格式
  • Properties文件格式

配置示例

log4j.rootCategory=INFO,console,file

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[${system}][%X{function}][%d{yy/MM/dd HH:mm:ss.SSS}][%3t][%5p][%c{1}.%M(%L)] : %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=C:/mlog.txt
log4j.appender.file.Threshold=ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss.SSS}][%3t][%4p][%c{1}.%M(%L)] : %m%n

log4j.logger.cn.doubly=INFO

配置详解

  • log4j.rootCategory=INFO,console,file
    指定默认日志级别 INFO
    指定日志输出目标 console和file,这两个名称是自定义的

  • log4j.appender.console=org.apache.log4j.ConsoleAppender
    指定输出目标console的实现类

  • log4j.appender.console.layout=org.apache.log4j.PatternLayout
    指定输出目标console的日志格式布局类型

  • log4j.appender.console.layout.ConversionPattern
    指定输出目标console的日志具体格式

  • log4j.appender.file =org.apache.log4j.DailyRollingFileAppender
    指定输出目标file的实现类

  • log4j.appender.file.File=C:/mlog.txt
    指定输出目标file的输出文件位置

  • log4j.appender.file.Threshold=ERROR
    指定输出目标file的最低日志级别

  • log4j.logger.cn.doubly=INFO
    指定包cn.doubly下class的日志级别

日志级别

  • debug
  • info
  • warn
  • error
  • fatal

输出目标类型

org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

输出端格式布局类型

org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

ConversionPattern标准参数

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%t 输出产生该日志事件的线程名
%c 输出所属的类目,通常就是所在类的全名
%m 输出代码中指定的消息
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d 输出日志时间点的日期或时间,比如:%d{yyyy/mm/dd HH:mm:ss,SSS}
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数

ConversionPattern特殊参数

系统环境变量
添加JVM参数 -DparamName=paramValue
在配置文件中引用 ${paramName}

MDC变量
上下文信息每个线程独立存储
通过方法 MDC.put(key, value) 存储信息 增加TransantionId
在配置文件中引用 %X{key}
通过方法 MDC.remove(key) 清除信息

配置加载方式

自动加载

将log4j.properties置于classpath根路径下

设定环境变量

-Dlog4j.configuration=[log4j配置文件路径]
-Dlog4j.configuratorClass=[log4j配置加载器]
-Dlog4j.watchDelay=[log4j配置文件重加载间隔]

编程加载

PropertyConfigurator.configureAndWatch()
PropertyConfigurator.configure()
PropertyConfigurator 和 DOMConfigurator 是两个功能类似的class, 一个用于加载property格式,一个用于加载xml格

日志输出方式

  • 声明类成员变量Logger

  • 通过Logger的debug,info,warn,error,fatal方法输出日志
    示例:

public class Test {
	private static Logger log = Logger.getLogger(Test.class);
	public void sayHello(String name) {
		log.info(“name=+ name);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值