log4j原理以及配置
来源:互联网 发布:韩国melon软件下载 编辑:程序博客网 时间:2024/05/16 19:43
1、LOG4J是怎么工作的?
JDK提供的new throwable.getStackTrace() 方法获得当前运行栈的层次结构,然后对调用栈进行分析,返回调用该类的名称。Log能把代码运行时间,类名,方法名全部打印出来。
2、log4j的配置文件
log4j的configure文件就是用来设置记录器的级别,存放器和布局的。我们在配置文件中,可以初始化指定的 Logger ,并且对指定的 Logger 进行一些相关的配置,如设置如何进行输出,以及如何将输出进行布局等。
配置文件示例:
log4j.properties:
//配置根,debug表示级别,stdout表示是AppenderName
log4j.rootLogger=debug, stdout, R
//配置信息的输出地Appender,log4j中,包含ConsoleAppender,FielAppender(文件)DarieyRollingFileAppender(每天产生一个日志文件) RollingFileAppender(当文件大小到达一定的时候,产生新文件)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
//日志输出格式,有htmlLayout,PatternLayout(任意布局),simpleLayout(包含日志信息级别的字符串)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
//打印参数
Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
%m 输出代码中的指定的消息
%p 输出优先级,即GEBUG,INFO,WARN ERROR FATAL
%r输出从应用程序启动到输出log信息的毫秒数
%c输出所属的类名
%t 输出产生该日志事件的线程名
%n 输出回车换行符
%d 输出日志时间(可以指定格式)
[配置文件]
log4j.rootLogger=debug, stdout , D, E
### 输出到控制台 ###
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= %d{ABSOLUTE} %5p %c{1}:%L - %m%n
### 输出到日志文件 ###
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=logs/log.log
log4j.appender.D.Append=true
log4j.appender.D.Threshold=DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [ %p ] %m%n
### 保存异常信息到单独文件 ###
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=logs/error.log ## 异常日志文件名
log4j.appender.D.Append=true
log4j.appender.D.Threshold=ERROR ## 只输出ERROR级别以上的日志!!!
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [ %p ] %m%n
[代码中使用]
public static void main(String[] args) {
PropertyConfigurator.configure("D:/Co
Logger logger = Logger.getLogger(TestLog4j.class);
logger.debug("debug" );
logger.error("error" );
}
}
- log4j原理以及配置
- LOG4J原理以及配置的研究
- Log4j配置文件以及配置方法
- Log4j配置文件以及配置方法
- Log4j配置文件以及配置方法
- Log4j配置文件以及配置方法
- Log4j配置文件以及配置方法
- Log4j配置文件以及配置方法
- log4j的配置以及使用
- log4j配置详解以及模板
- Log4j 介绍,以及配置详解
- Log4j使用总结以及配置
- Log4j的使用以及配置
- log4j日志级别以及配置
- log4j详情 以及正确配置
- log4j的配置以及简单使用
- log4j slf4j 以及web.xml日志配置
- log4j的MDC,DNC配置以及应用
- 第九周实验报告(一)定义Time类中的<<、>>运算符的重载
- 拉格朗日乘子法
- 入门笔记 - IoCallDriver
- 第九周1
- Android中TextVIew一些属性
- log4j原理以及配置
- 分享一个CSS3实现的动态内容标签页切换效果教程
- 第九周 任务一
- php登陆验证
- 关于Android4.0的Alertdialog对话框
- android 网络
- 强大的独立日期选择器(date picker)插件 - Kalendae
- Nicholas C. Zakas谈怎样才能成为优秀的前端工程师
- 第九周实验报告任务 1 定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。