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 平台为" ",Unix 平台为" "输出日志信息换行
  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>
-------------------------------------------------------------------------------------------------------------------------------




原文地址:https://www.cnblogs.com/LiZhiW/p/4316674.html