Log4j框架配置文件
Log4j框架配置文件
1 Log4j的配置文件分类
Log4j支持两种配置文件格式:一中是以log4j.properties ,另一种是 log4j.xml
2 Log4j的配置文件例子
##自定义日志的输出级别log4j.rootLogger=WARN, stdout##自定义日志
log4j.logger.access=WARN, accesslog4j.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{yyyy-MM-dd HH:mm:ss} %m%n### 输出到日志文件 ###
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = logs/test.log
log4j.appender.R.Append = true
log4j.appender.R.Threshold = DEBUG
log4j.appender.R.DatePattern = '.'yyyy-MM-dd-HH
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n### 业务日志###
log4j.appender.access = org.apache.log4j.FileAppender
log4j.appender.access.File = logs/test.access.log
log4j.appender.access.Append = true
log4j.appender.access.layout = org.apache.log4j.PatternLayout
log4j.appender.access.layout.ConversionPattern = %m%n
3 Log4j的配置文件解析
(1)配置rootLogger
最重要就是第一个log4j.rootLogger,指定log4j日志的输出界别(目的地)
log4j.rootLogger=INFO,stdout,file意思为:日志可以输INFO级别以上的数据,将日志输出到stdout标准控制输出(控制台),输出到file
常见的日志输出级别:DEBUG(调试) < INFO(信息) < WARN(警告) < ERROR(错误) < FATAL(致命错误)
日志输出的顺序:和日志输出级别一致,即配置为一个级别,输出的内容只能是该级别及其以上级别的信息, INFO(输出的包括 INFO WARN ERROR FATAL),ERROR(ERROR FATAL), 所以,一般情况下:在开发,测试环境中,日志的级别为DEBUG;在生产环境中,日志级别为INFO
(2)配置日志信息输出目的地Appender
输出目的地:日志输出的各种各样的目的地,都是通过Appender来进行实现追加的,我们在appender中看到的PatternLayout的格式如下:
%m 输出代码中指定的消息
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%p 输出优先级,即日志级别:DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )
ConsoleAppender,FileAppender,DailyRollingFileAppender,RollingFileAppender,WriterAppender(将日志信息以流格式发送到任意指定的地方)
ConsoleAppender(控制台) |
Threshold=WARN:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 Target=System.err:默认情况下是:System.out,指定输出控制台 |
DailyRollingFileAppender(每天产生一个日志文件) |
Threshold=WARN:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 File=mylog.txt:指定消息输出到mylog.txt文件。 Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。 DatePattern=”.”yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。 当然也可以指定按月、周、天、时和分。即对应的格式如下: 1)”.”yyyy-MM: 每月 2)”.”yyyy-ww: 每周 3)”.”yyyy-MM-dd: 每天 4)”.”yyyy-MM-dd-a: 每天两次 5)”.”yyyy-MM-dd-HH: 每小时 6)”.”yyyy-MM-dd-HH-mm: 每分钟 |
FileAppender(文件) |
Threshold=WARN:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 File=mylog.txt:指定消息输出到mylog.txt文件。 Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。 |
RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) |
Threshold=WARN:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 File=mylog.txt:指定消息输出到mylog.txt文件。 Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。 MaxFileSize=100KB:后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。 MaxBackupIndex=2:指定可以产生的滚动文件的最大数。 |
Log4j框架配置文件相关推荐
- 学习如何用自己的 appender 来扩展 log4j 框架
2003 年 9 月 29 日 日志记录不仅是开发和测试周期中的一个重要元素――提供关键调试信息,而且对于系统已部署到生产环境之后调试错误也是很有用的――提供修复错误所需的准确上下文信息.在本文中,O ...
- 如何自建appender扩展Log4j框架
1.log4j 概述 log4j 环境包括三个主要组件: logger(日志记录器):控制要启用或禁用哪些日志记录语句.可以对日志记录器指定如下级别: ALL . DEBUG . INFO . WAR ...
- log4j多配置文件处理
log4j多配置文件处理 关于log4j的常用配置以及相关配置格式,详细配置可以参考:http://blog.csdn.net/yeruby/article/details/51719333 关于we ...
- 因缺失log4j.properties 配置文件导致flume无法正常启动。
因缺失log4j.properties 配置文件导致flume无法正常启动 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错:log4j:WARN No appenders ...
- ssh框架配置文件流程_通过配置文件和安排增强您的工作流程
ssh框架配置文件流程 by Marcus Wood 由马库斯·伍德(Marcus Wood) 通过配置文件和安排增强您的工作流程 (Supercharge your workflow with pr ...
- log4j的配置文件代码
log4j的配置文件代码(properties) #将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码 log4j.rootLogger ...
- 不要只做个ACV工程师,SSH框架配置文件详解。知其然,也要知其所以然。
SSH框架配置解析: SSH分别代表: SpringMVC Spring(连接MVC和hibernate) Hibernate SpringMVC.xml [在这个配置文件中常见的问题]: 1.启动报 ...
- log4j自定义配置文件(SpringMVC项目)
问题来源 本周在实际项目中发现无法自定义的log4j-dev配置的error日志级别文件无法生效,项目启动后仍然采用默认的info级别日志进行打印.之所以自定义名称,是为了减少隔离不同环境的日志级别, ...
- listener:监听器(加载框架配置文件/执行任务调度/session的优化)
所谓监听器就是一个java类,用来监听其他java类的状态变化. 监听器的术语: 事件源:指被监听的对象(汽车) 监听器:监听的对象(报警器) 事件源与监听器的绑定:(就是在汽车上安装报警器) 事件: ...
最新文章
- 【树莓派】树莓派SD卡系统镜像系统备份方法
- WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理【03】
- 深度学习之自编码器(1)自编码器原理
- 生产服务器怎么dmp堆栈信息,如何根据程序崩溃时的DMP文件使用WinDbg查找调用堆栈...
- KVC的底层实现原理
- python open方法1001python open方法_怎样才能写出 Pythonic 的代码 #P1001#
- 虚拟机centos7启动无法识别磁盘_分享VSAN磁盘无法识别的故障解决方法
- PCB设计之:必知的PCB设计八大误区
- 强烈推荐Seam实战
- SpringMvc @PathVariable 工作原理
- 小米案例分析PPT模板-优页文档
- 新闻发布系统3.0(javaBean封装)
- jQuery事件与事件对象
- java 发送邮件demo_java邮件发送Demo(完整例子)
- Pegasus读取传感器AD的值
- 机器学习入门项目——加州房价预测
- python14-前端之CSS
- 小米路由器3G建站折腾笔记1 - 引言与路由器选择
- 关于numeric_limits
- maven oracle 10.2.0.4.0,马文介绍说ojdbc:ojdbc14-10.2.0.4.0.jar,Maven,引入,ojdbcojdbc14102040jar...