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框架配置文件相关推荐

  1. 学习如何用自己的 appender 来扩展 log4j 框架

    2003 年 9 月 29 日 日志记录不仅是开发和测试周期中的一个重要元素――提供关键调试信息,而且对于系统已部署到生产环境之后调试错误也是很有用的――提供修复错误所需的准确上下文信息.在本文中,O ...

  2. 如何自建appender扩展Log4j框架

    1.log4j 概述 log4j 环境包括三个主要组件: logger(日志记录器):控制要启用或禁用哪些日志记录语句.可以对日志记录器指定如下级别: ALL . DEBUG . INFO . WAR ...

  3. log4j多配置文件处理

    log4j多配置文件处理 关于log4j的常用配置以及相关配置格式,详细配置可以参考:http://blog.csdn.net/yeruby/article/details/51719333 关于we ...

  4. 因缺失log4j.properties 配置文件导致flume无法正常启动。

    因缺失log4j.properties 配置文件导致flume无法正常启动 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错:log4j:WARN No appenders ...

  5. ssh框架配置文件流程_通过配置文件和安排增强您的工作流程

    ssh框架配置文件流程 by Marcus Wood 由马库斯·伍德(Marcus Wood) 通过配置文件和安排增强您的工作流程 (Supercharge your workflow with pr ...

  6. log4j的配置文件代码

    log4j的配置文件代码(properties) #将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码 log4j.rootLogger ...

  7. 不要只做个ACV工程师,SSH框架配置文件详解。知其然,也要知其所以然。

    SSH框架配置解析: SSH分别代表: SpringMVC Spring(连接MVC和hibernate) Hibernate SpringMVC.xml [在这个配置文件中常见的问题]: 1.启动报 ...

  8. log4j自定义配置文件(SpringMVC项目)

    问题来源 本周在实际项目中发现无法自定义的log4j-dev配置的error日志级别文件无法生效,项目启动后仍然采用默认的info级别日志进行打印.之所以自定义名称,是为了减少隔离不同环境的日志级别, ...

  9. listener:监听器(加载框架配置文件/执行任务调度/session的优化)

    所谓监听器就是一个java类,用来监听其他java类的状态变化. 监听器的术语: 事件源:指被监听的对象(汽车) 监听器:监听的对象(报警器) 事件源与监听器的绑定:(就是在汽车上安装报警器) 事件: ...

最新文章

  1. 【树莓派】树莓派SD卡系统镜像系统备份方法
  2. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理【03】
  3. 深度学习之自编码器(1)自编码器原理
  4. 生产服务器怎么dmp堆栈信息,如何根据程序崩溃时的DMP文件使用WinDbg查找调用堆栈...
  5. KVC的底层实现原理
  6. python open方法1001python open方法_怎样才能写出 Pythonic 的代码 #P1001#
  7. 虚拟机centos7启动无法识别磁盘_分享VSAN磁盘无法识别的故障解决方法
  8. PCB设计之:必知的PCB设计八大误区
  9. 强烈推荐Seam实战
  10. SpringMvc @PathVariable 工作原理
  11. 小米案例分析PPT模板-优页文档
  12. 新闻发布系统3.0(javaBean封装)
  13. jQuery事件与事件对象
  14. java 发送邮件demo_java邮件发送Demo(完整例子)
  15. Pegasus读取传感器AD的值
  16. 机器学习入门项目——加州房价预测
  17. python14-前端之CSS
  18. 小米路由器3G建站折腾笔记1 - 引言与路由器选择
  19. 关于numeric_limits
  20. maven oracle 10.2.0.4.0,马文介绍说ojdbc:ojdbc14-10.2.0.4.0.jar,Maven,引入,ojdbcojdbc14102040jar...

热门文章

  1. Spring AOP 五大通知类型
  2. [转载]MVVM、MVVMLight、MVVMLight Toolkit之我见
  3. 6、使用infowindow
  4. 内核抢占会让内核调度更好吗?
  5. 少写点if-else吧,它的效率有多低你知道吗?
  6. Android系统架构开篇
  7. TQ210——按键(中断查询法)
  8. Datawhale组队-Pandas(下)时序数据(打卡)
  9. 如何 给给软件开发 添加 代理_敏捷开发是如何被跑偏的
  10. Webpack的代码分包Vue3中定义异步组件分包refs的使用