示例:

 1 log4j.debug=true
 2 log4j.rootLogger=DEBUG,stdout,D      //所有输出都会用到这里的appedder
 3 log4j.logger.com.test.server=DEBUG,E //为特定的的包指定输出
 4 //output log to console
 5 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 6 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 7 log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
 8
 9 log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
10 log4j.appender.E.File = logs/logs.log
11 log4j.appender.E.Append = true
12 log4j.appender.E.Threshold = DEBUG
13 log4j.appender.E.layout = org.apache.log4j.PatternLayout
14 log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
15
16 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
17 log4j.appender.D.File = logs/error.log
18 log4j.appender.D.Append = true
19 log4j.appender.D.Threshold = ERROR
20 log4j.appender.D.layout = org.apache.log4j.PatternLayout
21 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

log4j.properties的配置参数

1. 基本格式如下:

#配置根Logger
log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …#配置日志信息输出目的地Appender
log4j.appender.appenderName  =  fully.qualified.name.of.appender.class log4j.appender.appenderName.option1  =  value1 … log4j.appender.appenderName.optionN  =  valueN #配置日志信息的格式(布局)
log4j.appender.appenderName.layout  =  fully.qualified.name.of.layout.class log4j.appender.appenderName.layout.option1  =  value1 … log4j.appender.appenderName.layout.optionN  =  valueN 

其中 [ level ]日志输出级别共有五级

  • FATAL 0
  • ERROR 3
  • WARN 4
  • INFO 6
  • DEBUG 7

Appender 为日志输出目的地,Log4j提供的appender有以下几种:

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

Layout:日志输出格式,Log4j提供的layout有以下几种:

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

打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:

  • %m 输出代码中指定的消息%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  • %r 输出自应用启动到输出该log信息耗费的毫秒数
  • %c 输出所属的类目,通常就是所在类的全名
  • %t 输出产生该日志事件的线程名
  • %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
  • %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921
  • %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:test.main(test.java: 10 )

2.参数意义说明
输出级别的种类

  • ERROR 为严重错误 主要是程序的错误
  • WARN 为一般警告,比如session丢失
  • INFO 为一般要显示的信息,比如登录登出
  • DEBUG 为程序的调试信息

配置日志信息输出目的地

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

配置日志信息的格式

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

ConsoleAppender选项

  • Threshold=DEBUG:指定日志消息的输出最低层次。
  • ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
  • Target=System.err:默认情况下是:System.out,指定输出控制台

FileAppender 选项

  • Threshold=DEBUF:指定日志消息的输出最低层次。
  • ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
  • File=mylog.txt:指定消息输出到mylog.txt文件。
  • Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

RollingFileAppender 选项

  • Threshold=DEBUG:指定日志消息的输出最低层次。
  • ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
  • File=mylog.txt:指定消息输出到mylog.txt文件。
  • Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
  • MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
  • MaxBackupIndex=2:指定可以产生的滚动文件的最大数。

日志信息格式中几个符号所代表的含义:

  • -X号: X信息输出时左对齐;
  • %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
  • %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
  • %r: 输出自应用启动到输出该log信息耗费的毫秒数
  • %c: 输出日志信息所属的类目,通常就是所在类的全名
  • %t: 输出产生该日志事件的线程名
  • %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)
  • %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
  • %%: 输出一个"%"字符
  • %F: 输出日志消息产生时所在的文件名称
  • %L: 输出代码中的行号
  • %m: 输出代码中指定的消息,产生的日志具体信息
  • %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行

转载于:https://www.cnblogs.com/lihezx/archive/2012/10/29/note-log4j-properties-configuration.html

学习笔记:log4j.properties配置相关推荐

  1. Log4j介绍,log4j.properties配置详解

    http://www.cnblogs.com/simle/archive/2011/09/29/2195341.html本文主要解释log4j的配置文件各个配置项的含义,内容是从网上转载的 1.Log ...

  2. TMS320F280049C 学习笔记19 可配置逻辑块 (CLB) 软件配置

    文章目录 CLB tool 简介 CLB配置过程概述 软件安装 GNU Compiler Install the Simulation Viewer 使用CLB tool 导入空CLB工程 更新变量路 ...

  3. openCV2学习笔记---1.环境配置

    openCV2学习笔记-1.环境配置 openCV 是开源的计算机视觉代码库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成 ...

  4. java log4配置例子,log4j.properties配置属性详解与配置示例

    log4j.properties配置属性详解与配置示例 发布时间:2018-03-27作者:laosun阅读(1535) log4j.properties配置属性详解与配置示例,拿走直接用!详细解答了 ...

  5. LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决)

    LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决) 概述 每一次选修课总会碰到一堆问题,我真的是幸运得很.这次是LINUX服务器管理这门课,最开始安装虚拟机一切正常(用的是VMware安装u ...

  6. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  7. 转 Log4j.properties配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  8. Log4j.properties 配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  9. log4j日志文件 log4j.xml log4j.properties配置

    1,导入log4j  jar包; 2,配置log4j.xml或log4j.properties文件; ------------------------------------------------- ...

最新文章

  1. 【原】自定义UINavigationItem的两种方法以及相应的隐藏方法
  2. python语法实例_python基本语法练习实例
  3. java简易计算器考察什么_练习:用java写一个简易计算器
  4. HTML5常用标签及特殊字符表
  5. ATL(COM) 开发下 -- VS2010
  6. 前魅族李楠创办“怒喵科技”,网友:看半天不知道公司干嘛的
  7. 使用 Gitolite 搭建 Git 服务器
  8. 异数OS 星星之火(三)--异数OS-织梦师云 微服务编写入门
  9. 常识——多台电脑共用一套键鼠
  10. 关于计算机英语手抄报全国一等奖,获奖手抄报图片
  11. D碳社区周报:上海市:推进崇明世界级生态岛碳中和示范区建设,院士专家在论坛上提出建议
  12. fcpx插件:FilmConvert Pro for Mac(数字转胶片调色插件)
  13. bag java_Bag.java · linbo/Bag_Queue_Stack_Java - Gitee.com
  14. NLP自然语言处理实战(一):利用分词器构建词汇表
  15. js下载Word文档
  16. 用USART来替代SPI,效果非常不错
  17. 图书管理系统 (单链表实现,C++及文件操作,超详细)
  18. 神州数码交换机CS6200命令(一)
  19. 迁移学习在乳腺癌检测中的应用
  20. python内置函数getattr()和setattr()

热门文章

  1. 下载的java游戏怎么运行不了_java运行环境下载
  2. js实现modbus_nodejs中使用modbus-serial库创建Modbus TCP读取设备的数据
  3. yy自动语音接待机器人_人脸签到、发言记录,会议机器人来啦
  4. 内连接查询的重点分析
  5. 电脑中毒的表现有哪些?电脑中毒了怎么办?
  6. 最幸福的码农在用什么编程语言?
  7. 8种你可能正在写错的SQL用法
  8. linux看缺省的编译器,修改Linux系统默认编辑器
  9. sap实施和开发哪个前景_2021年了!还不知道 SAP顾问的职业前景?
  10. Docker-compose 常用命令及网络设置(五)