log4j.xml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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. <!-- org.apache.log4j.ConsoleAppender (输出到控制台) -->
  5. <!-- org.apache.log4j.FileAppender (输出到文件) -->
  6. <!-- org.apache.log4j.DailyRollingFileAppender (每天输出产生一个日志文件) -->
  7. <!-- org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件), 可通过 log4j.appender.R.MaxFileSize=100KB
  8. 设置文件大小, 还可通过 log4j.appender.R.MaxBackupIndex=1设置为保存一个备份文件。 -->
  9. <!-- org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方) -->
  10. <!--输出通道"STDOUT",输出所有信息到控制台 (也就是System.out.println()) -->
  11. <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
  12. <!-- 输出自定义内容的LOG -->
  13. <layout class="org.apache.log4j.PatternLayout">
  14. <!-- 输出时Log内容的具体定义 -->
  15. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%c] %-5p %m%n" />
  16. </layout>
  17. </appender>
  18. <!--输出通道"DEBUG",输出方式是:只输出DEBUG级别的LOG,并文件大小到达指定大小时产 生新的Log文件 -->
  19. <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
  20. <!-- 输出Log文件的路径和文件名 -->
  21. <param name="File" value="${app.root}/logs/app_debug.log" />
  22. <!-- TOMCAT等WEB服务器重新启动时,是否插入到原有的LOG文件里,true 插入false 新 建 -->
  23. <param name="Append" value="true" />
  24. <param name="Encoding" value="UTF-8"/>
  25. <!-- 只输出定义的级别以上的LOG,因为在下面过滤LOG信息所以屏蔽 -->
  26. <!-- param name="Threshold" value="info"/ -->
  27. <!-- 因选择了RollingFileAppender了才有下面两个 MaxFileSize,MaxBackupIndex 选项 -->
  28. <!-- MaxFileSize是一个LOG文件的最大的文件大小,当LOG文件超过这个值时,自动转成 *.log.1的LOG文件 -->
  29. <param name="MaxFileSize" value="5000KB" />
  30. <!-- MaxBackupIndex生成自动转成 *.log.1的LOG文件的个数,设置3时最多生成3个LOG 备份文件,它们是[*.log.1][*.log.2][*.log.3] -->
  31. <param name="MaxBackupIndex" value="3" />
  32. <!-- 输出时Log内容的具体定义 -->
  33. <layout class="org.apache.log4j.PatternLayout">
  34. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />
  35. </layout>
  36. <!-- 过滤输出时Log内容,在这里,LevelMin,LevelMax都定义了DEBUG, 所以只输出DEBUG 级别LOG的数据 -->
  37. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  38. <param name="LevelMin" value="DEBUG" />
  39. <param name="LevelMax" value="DEBUG" />
  40. </filter>
  41. </appender>
  42. <!-- 输出通道"INFO",输出方式是:只输出INFO级别的LOG,并文件大小到达指定大小时产生 新的Log文件 -->
  43. <appender name="INFO" class="org.apache.log4j.RollingFileAppender">
  44. <param name="File" value="${app.root}/logs/app_info.log" />
  45. <param name="Append" value="true" />
  46. <param name="Encoding" value="UTF-8"/>
  47. <param name="MaxFileSize" value="5000KB" />
  48. <param name="MaxBackupIndex" value="3" />
  49. <layout class="org.apache.log4j.PatternLayout">
  50. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />
  51. </layout>
  52. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  53. <param name="LevelMin" value="INFO" />
  54. <param name="LevelMax" value="INFO" />
  55. </filter>
  56. </appender>
  57. <!-- 输出通道"WARN",输出方式是:只输出WARN级别的LOG,并文件大小到达指定大小时产 生新的Log文件 -->
  58. <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
  59. <param name="File" value="${app.root}/logs/app_warn.log" />
  60. <param name="Append" value="true" />
  61. <param name="Encoding" value="UTF-8"/>
  62. <param name="MaxFileSize" value="5000KB" />
  63. <param name="MaxBackupIndex" value="3" />
  64. <layout class="org.apache.log4j.PatternLayout">
  65. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />
  66. </layout>
  67. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  68. <param name="LevelMin" value="WARN" />
  69. <param name="LevelMax" value="WARN" />
  70. </filter>
  71. </appender>
  72. <!-- 输出通道"ERROR",输出方式是:只输出ERROR级别的LOG,并文件大小到达指定大小时 产生新的Log文件 -->
  73. <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
  74. <param name="File" value="${app.root}/logs/app_error.log" />
  75. <param name="Append" value="true" />
  76. <param name="Encoding" value="UTF-8"/>
  77. <param name="MaxFileSize" value="5000KB" />
  78. <param name="MaxBackupIndex" value="3" />
  79. <layout class="org.apache.log4j.PatternLayout">
  80. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />
  81. </layout>
  82. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  83. <param name="LevelMin" value="ERROR" />
  84. <param name="LevelMax" value="ERROR" />
  85. </filter>
  86. </appender>
  87. <!-- 输出通道"FATAL",输出方式是:只输出INFO级别的LOG,并文件大小到达指定大小时产生 新的Log文件 -->
  88. <appender name="FATAL" class="org.apache.log4j.RollingFileAppender">
  89. <param name="File" value="${app.root}/logs/app_fatal.log" />
  90. <param name="Append" value="true" />
  91. <param name="Encoding" value="UTF-8"/>
  92. <param name="MaxFileSize" value="5000KB" />
  93. <param name="MaxBackupIndex" value="3" />
  94. <layout class="org.apache.log4j.PatternLayout">
  95. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />
  96. </layout>
  97. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  98. <param name="LevelMin" value="FATAL" />
  99. <param name="LevelMax" value="FATAL" />
  100. </filter>
  101. </appender>
  102. <!-- 输出通道"EVERYDAY",输出方式是:输出所有级别的LOG,并每天一个日志文件 -->
  103. <appender name="EVERYDAY" class="org.apache.log4j.DailyRollingFileAppender">
  104. <param name="File" value="${app.root}/logs/app_everyday/everyday.log" />
  105. <param name="Append" value="true" />
  106. <param name="Encoding" value="UTF-8"/>
  107. <!-- 以日为单位输出LOG文件,每日输出一个LOG文件 -->
  108. <param name="DatePattern" value="'.'yyyy-MM-dd" />
  109. <layout class="org.apache.log4j.PatternLayout">
  110. <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />
  111. </layout>
  112. <!-- 过滤输出时Log内容,在这里,LevelMin是DEBUG,LevelMax都FATAL, 所以输出DEBUG 级别到FATAL级别的LOG数据 -->
  113. <filter class="org.apache.log4j.varia.LevelRangeFilter">
  114. <param name="LevelMin" value="ERROR" />
  115. <param name="LevelMax" value="FATAL" />
  116. </filter>
  117. </appender>
  118. <logger name="com.xt.dsp">
  119. <level value="INFO" />
  120. </logger>
  121. <logger name="com.ibatis">
  122. <level value="DEBUG" />
  123. </logger>
  124. <logger name="java.sql">
  125. <level value="DEBUG" />
  126. </logger>
  127. <root>
  128. <!-- 设置输出范围,默认只输出ERROR以上的,ERROR级别, FATAL级别的LOG -->
  129. <priority value="DEBUG" />
  130. <!-- 上边设置的输出通道,使用的在这里定义 -->
  131. <appender-ref ref="STDOUT" />
  132. <appender-ref ref="DEBUG" />
  133. <appender-ref ref="INFO" />
  134. <appender-ref ref="WARN" />
  135. <appender-ref ref="ERROR" />
  136. <appender-ref ref="FATAL" />
  137. <appender-ref ref="EVERYDAY" />
  138. </root>
  139. </log4j:configuration>