log4j.xml配置文件

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  3. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  4. <!--
  5. 根节点的配置顺序:
  6. renderer
  7. appender
  8. plugin
  9. logger
  10. category
  11. root
  12. loggerfactory
  13. categoryfactory
  14. -->
  15. <!-- ========================================================================================= -->
  16. <!--
  17. org.apache.log4j.ConsoleAppender 控制台输出
  18. org.apache.log4j.FileAppender 文件日志输出
  19. org.apache.log4j.DailyRollingFileAppender 每个时间段产生一个日志文件
  20. org.apache.log4j.RollingFileAppender 文件大小到达指定尺寸的时候产生一个新的文件
  21. org.apache.log4j.WriterAppender 将日志信息以流格式发送到任意指定的地方
  22. org.apache.log4j.net.SMTPAppender 发邮件输出日志
  23. org.apache.log4j.net.SocketAppender Socket日志
  24. org.apache.log4j.nt.NTEventLogAppender Window NT日志
  25. org.apache.log4j.net.SyslogAppender
  26. org.apache.log4j.net.JMSAppender
  27. org.apache.log4j.AsyncAppender
  28. org.apache.log4j.varia.NullAppender
  29. org.apache.log4j.jdbc.JDBCAppender
  30. -->
  31. <!-- ========================================================================================= -->
  32. <!--
  33. 控制台输出:org.apache.log4j.ConsoleAppender
  34. Threshold=WARN 指定日志消息的输出最低层次。
  35. ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
  36. Target=System.err 默认情况下是:System.out,指定输出控制台
  37. -->
  38. <appender name="Console" class="org.apache.log4j.ConsoleAppender">
  39. <param name="Threshold" value="ALL"></param>
  40. <param name="ImmediateFlush" value="true"></param>
  41. <param name="Target" value="System.out"></param>
  42. <layout class="org.apache.log4j.TTCCLayout" />
  43. </appender>
  44. <!-- ========================================================================================= -->
  45. <!--
  46. 文件日志输出:org.apache.log4j.FileAppender
  47. Threshold=WARN 指定日志消息的输出最低层次。
  48. ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
  49. File=mylog.txt 指定消息输出到 mylog.txt 文件。
  50. Append=false 默认值是 true,即将消息增加到指定文件中,false 指将消息覆盖指定的文件内容。
  51. -->
  52. <appender name="File" class="org.apache.log4j.FileAppender">
  53. <param name="Threshold" value="ALL"></param>
  54. <param name="ImmediateFlush" value="true"></param>
  55. <param name="File" value="F:\\FileAppender.txt"></param>
  56. <param name="Append" value="false"></param>
  57. <layout class="org.apache.log4j.TTCCLayout" />
  58. </appender>
  59. <!-- ========================================================================================= -->
  60. <!--
  61. 每个时间段产生一个日志文件:org.apache.log4j.DailyRollingFileAppender
  62. Threshold=WARN 指定日志消息的输出最低层次。
  63. ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
  64. File=mylog.txt 指定消息输出到 mylog.txt 文件。
  65. Append=false 默认值是 true,即将消息增加到指定文件中,false 指将消息覆盖指定的文件内容。
  66. DatePattern=.yyyy-ww 每周滚动一次文件,即每周产生一个新的文件。
  67. 当然也可以指定按月、周、天、时和分。即对应的格式如下:
  68. .yyyy-MM 每月
  69. .yyyy-ww 每周
  70. .yyyy-MM-dd 每天
  71. .yyyy-MM-dd-a 每天两次
  72. .yyyy-MM-dd-HH 每小时
  73. .yyyy-MM-dd-HH-mm 每分钟
  74. -->
  75. <appender name="DailyRollingFile" class="org.apache.log4j.DailyRollingFileAppender">
  76. <param name="Threshold" value="ALL"></param>
  77. <param name="ImmediateFlush" value="true"></param>
  78. <param name="File" value="F:\\DailyRollingFileAppender.txt"></param>
  79. <param name="Append" value="false"></param>
  80. <param name="DatePattern" value=".yyyy-MM-dd-HH-mm"></param>
  81. <layout class="org.apache.log4j.TTCCLayout" />
  82. </appender>
  83. <!-- ========================================================================================= -->
  84. <!--
  85. 文件大小到达指定尺寸的时候产生一个新的文件:org.apache.log4j.RollingFileAppender
  86. Threshold=WARN 指定日志消息的输出最低层次。
  87. ImmediateFlush=true 默认值是 true,意谓着所有的消息都会被立即输出。
  88. File=mylog.txt 指定消息输出到 mylog.txt 文件。
  89. Append=false 默认值是 true,即将消息增加到指定文件中,false 指将消息覆盖指定的文件内容。
  90. MaxFileSize=100KB 后缀可以是 KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到 mylog.log.1 文件。
  91. MaxBackupIndex=2 指定可以产生的滚动文件的最大数。
  92. -->
  93. <appender name="RollingFile" class="org.apache.log4j.RollingFileAppender">
  94. <param name="Threshold" value="ALL"></param>
  95. <param name="ImmediateFlush" value="true"></param>
  96. <param name="File" value="F:\\RollingFileAppender.txt"></param>
  97. <param name="Append" value="false"></param>
  98. <param name="MaxFileSize" value="1KB"></param>
  99. <param name="MaxBackupIndex" value="3"></param>
  100. <layout class="org.apache.log4j.TTCCLayout" />
  101. </appender>
  102. <!-- ========================================================================================= -->
  103. <!-- ========================================================================================= -->
  104. <!--
  105. org.apache.log4j.HTMLLayout 以HTML表格形式布局
  106. org.apache.log4j.PatternLayout 可以灵活地指定布局模式
  107. org.apache.log4j.xml.XMLLayout XML文件布局日志
  108. org.apache.log4j.SimpleLayout 包含日志信息的级别和信息字符串
  109. org.apache.log4j.TTCCLayout 包含日志产生的时间、线程、类别等等信息
  110. -->
  111. <!-- ========================================================================================= -->
  112. <!--
  113. 以HTML表格形式布局:org.apache.log4j.HTMLLayout
  114. LocationInfo=true 默认值是false,输出java文件名称和行号
  115. Title=日志信息 默认值是"Log4J Log Messages"
  116. -->
  117. <appender name="HTML" class="org.apache.log4j.ConsoleAppender">
  118. <layout class="org.apache.log4j.HTMLLayout">
  119. <param name="LocationInfo" value="true"></param>
  120. <param name="Title" value="日志信息"></param>
  121. </layout>
  122. </appender>
  123. <!-- ========================================================================================= -->
  124. <!--
  125. 可以灵活地指定布局模式:org.apache.log4j.PatternLayout
  126. ConversionPattern=%m%n 指定怎样格式化指定的消息,如:%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
  127. Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:
  128. -X号 X信息输出时左对齐;
  129. %p 输出日志信息优先级,即 DEBUG,INFO,WARN,ERROR,FATAL,
  130. %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS}
  131. %r 输出自应用启动到输出该 log 信息耗费的毫秒数
  132. %c 输出日志信息所属的类目,配置文件中的名字,通常就是所在类的全名(若使用 rootLogger)
  133. %t 输出产生该日志事件的线程名
  134. %l 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及行数。举例:Testlog4.main(TestLog4.java:10)
  135. %x 输出和当前线程相关联的 NDC(嵌套诊断环境),尤其用到像 java servlets 这样的多客户多线程的应用中。
  136. %% 输出一个"%"字符
  137. %F 输出日志消息产生时所在的文件名称
  138. %L 输出代码中的行号
  139. %m 输出代码中指定的消息,产生的日志具体信息
  140. %n 输出一个回车换行符,Windows 平台为"\r\n",Unix 平台为"\n"输出日志信息换行
  141. %M 输出日志信息所属的方法
  142. 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
  143. %20c 指定输出 category 的名称,最小的宽度是 20,如果 category 的名称小于 20 的话,默认的情况下右对齐。
  144. %-20c 指定输出 category 的名称,最小的宽度是 20,如果 category 的名称小于 20 的话,"-"号指定左对齐。
  145. %.30c 指定输出 category 的名称,最大的宽度是 30,如果 category 的名称大于 30 的话,就会将左边多出的字符截掉,但小于 30 的话也不会有空格。
  146. %20.30c 如果 category 的名称小于 20 就补空格,并且右对齐,如果其名称长于 30 字符,就从左边交远销出的字符截掉
  147. -->
  148. <appender name="Pattern" class="org.apache.log4j.ConsoleAppender">
  149. <layout class="org.apache.log4j.PatternLayout">
  150. <param name="ConversionPattern" value="级别:[%-6p] 时间:[%d{yyy-MMM-dd HH:mm:ss,SSS}] %-50l %m%n"></param>
  151. </layout>
  152. </appender>
  153. <!-- ========================================================================================= -->
  154. <!--
  155. XML文件布局日志:org.apache.log4j.xml.XMLLayout
  156. LocationInfo=true 默认值是 false,输出 java 文件和行号
  157. -->
  158. <appender name="XML" class="org.apache.log4j.ConsoleAppender">
  159. <layout class="org.apache.log4j.xml.XMLLayout">
  160. <param name="LocationInfo" value="true"></param>
  161. </layout>
  162. </appender>
  163. <!-- ========================================================================================= -->
  164. <!-- ========================================================================================= -->
  165. <logger name="ConsoleLog" additivity="false">
  166. <level value="WARN" />
  167. <appender-ref ref="Console" />
  168. </logger>
  169. <logger name="FileLog" additivity="false">
  170. <level value="WARN" />
  171. <appender-ref ref="File" />
  172. </logger>
  173. <logger name="DailyRollingFileLog" additivity="false">
  174. <level value="WARN" />
  175. <appender-ref ref="DailyRollingFile" />
  176. </logger>
  177. <logger name="RollingFileLog" additivity="false">
  178. <level value="WARN" />
  179. <appender-ref ref="RollingFile" />
  180. </logger>
  181. <logger name="HTMLLog" additivity="false">
  182. <level value="WARN" />
  183. <appender-ref ref="HTML" />
  184. </logger>
  185. <logger name="PatternLog" additivity="false">
  186. <level value="WARN" />
  187. <appender-ref ref="Pattern" />
  188. </logger>
  189. <logger name="XMLLog" additivity="false">
  190. <level value="WARN" />
  191. <appender-ref ref="XML" />
  192. </logger>
  193. <!-- ========================================================================================= -->
  194. <!--
  195. 优先级:ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFF
  196. -->
  197. <root>
  198. <priority value="ALL" />
  199. <appender-ref ref="Console" />
  200. </root>
  201. </log4j:configuration>

-------------------------------------------------------------------------------------------------------------------------------

来自为知笔记(Wiz)

时间: 03-03

log4j.xml配置文件的相关文章

怎样在log4j.xml配置文件中引入变量:小公司经验较多的我和阿里UC等大公司经验较多的Boss,一些技术交流和探讨

从最初学习使用log4j的时候,网上和书本上主要都是使用"log4j.properties"这种属性格式,配置日志.多年以来,一直使用这种格式,总的来说,简单.够用.    而有十多年经验的Boss,不建议使用properties格式配置,而是用xml格式配置.Boss之前在阿里(支付宝.淘宝).UC等大公司工作过. 我们有个很明显的不同:  我比较注重,简单.快速.Boss比较注重,规范.严谨. 我的观点:没有对与错,只有适用与不适用.每个人都是根据自己的经历和追求,做出的技术选择.

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

1,导入log4j  jar包; 2,配置log4j.xml或log4j.properties文件; ----------------------------------------------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuratio

解决log4j.xml问题http//jakarta.apache.org/log4j/ uri is not registered

在Eclipse中,配置log4j.xml出现"http //jakarta.apache.org/log4j/ uri is not registered"的错误信息. 原始的log4j.xml配置文件: <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4

log4j(七)——log4j.xml简单配置样例说明

一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下的 package test.log4j.test8; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; /** * Cre

junit小试log4j及xml配置文件说明

????上篇文章介绍了java日志框架使用情况,以及xml配置文件的简单说明.但主要还是根据别人的博客整理一下知识结构,只能是纸上谈兵,本文通过junit测试框架来玩玩log4j. 1.junit+log4j测试环境准备 1.环境或工具 <1>idea开发工具: <2>java project, 学helloworld时建立的第一个项目: <3>mvn repository下载三个jar包:hamcrest-core-1.3.jar,junit-4.12.jar,log

【XML配置文件读取】使用jdom读取XML配置文件信息

在项目中我们经常需要将配置信息写在配置文件中,而XML配置文件是常用的格式. 下面将介绍如何通过jdom来读取xml配置文件信息. 配置文件信息 <?xml version="1.0" encoding="UTF-8"?> <config> <base-config> <stringValue>Hello world</stringValue> <integerValue>8</integ

Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

Spring概念 spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用) spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码来实现: ioc:控制反转,比如:有一个类,在类中有个方法(非静态的方法),要调用类中的这个方法,则需要创建类的对象,使用对象调用方法.创建类对象的过程,需要new出来对象:而ioc则是将对象的创建不是通过new方式实现,而是交给spring配置来创建对象(即,将对象的创建交给spring来管理): spring是一站式框架 spring

关于log4j的配置文件

因为要在spring中添加Mongodb,在网上查阅资料的时候我发现有人在web.xml中添加如下代码: <context-param>       <param-name>log4jConfigLocation</param-name>       <param-value>classpath:config/properties/log4j.properties</param-value>    </context-param>  

log4j.xml配置详解(转)

转自:http://willow-na.iteye.com/blog/347340 Xml代码 <?xml version="1.0" encoding="UTF-8"?>     <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">             <log4j:configuration xmlns:log4j='http://jakarta.apache.o