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日志文件 log4j.xml log4j.properties配置

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

【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

log4j.properties配置文件

#配置根 Logger,其语法为:log4j.rootLogger = level,appenderName1,appenderName2,... #优先级:ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFF #org.apache.log4j.ConsoleAppender 控制台输出 #org.apache.log4j.FileAppender 文件日志输出 #org.apache.log4j.DailyRollingFil

log4j.xml的实用例子

大多数讲log4j配置的教程用的都是log4j.properties文件,我觉得xml或许更好一点,在这里我提供一个我已经用于生产环境的log4j.xml的例子,先上代码,然后再解释: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.

struts2中struts.xml配置文件详解

struts.xml的常用配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts

Mybatis 源码分析--Configuration.xml配置文件加载到内存

(补充知识点: 1 byte(字节)=8 bit(位) 通常一个标准英文字母占一个字节位置,一个标准汉字占两个字节位置:字符的例子有:字母.数字系统或标点符号) 1.创建SqlSessionFactory ①Reader reader = Resources.getResourceAsReader("mybatis-config.xml");                       //获取mybatis配置文件的字符 注解:Resources类是在mybatis中定义的一个类:g