log4j 配置说明

一、简介:使用简单,足够灵活,开源,被绝大多数公司使用

二、使用时分为两快:1、配置文件;

2、程序中如何使用;

1、 配置文件:

//可以定义根记录器信息

log4j.rootLogger=DEBUG,CONSOLE,A1,im

//可以定义某一子级别的记录器信息
log4j.logger.myclass=DEBUG,stdout

# 应用于控制台

// CONSOLE输出端定义为控制台

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

//CONSOLE输出端单独定义了级别为WARN
log4j.appender.Threshold=WARN
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

#应用于文件

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis

等等,还可以向邮件,数据库,输出流等方式

2、 在程序中使用

主要分为3个步骤:A,得到记录器,B,读取配置文件,初始化记录器,C,写日志

A,得到记录器

//表示得到记录器本身,

//Logger提供了一个static的方法getLogger来得到记录器

Logger log= Logger.getLogger(Log4jTest.class);

B,读取配置文件

读取配置文件有三种方式:BasicConfigurator、PropertyConfigurator、

DOMConfigurator

以下介绍三种的区别:

BasicConfigurator.configure();指的读取默认的系统配置,即这个时候可以不用配置日志的配置文件。

PropertyConfigurator.configure();指读取.properties格式的日志的配置文件,默认读取的配置文件放在src下,如果不是放在src下,则需要如下写法:

String str=System.getProperty("user.dir");

try{

Properties pro= null;

pro= new Properties();

InputStream inStream=null;

//当前目下的/bin/demo/dd.properties文件

File file= new File(str+"//bin/demo/dd.properties");

inStream=new FileInputStream(file);

pro.load(inStream);

PropertyConfigurator.configure(pro);

}catch(Exception ex){

System.out.println(ex.getMessage());

}

DOMConfigurator指读取xml的文件。

C,写日志

写日志用如下的写法:log.warn("----------test");

ConversionPattern参数的格式含义
格式名 含义
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%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 输出产生该日志事件的线程名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值