log4j2-spring-prod.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration status="OFF">
  3. <properties>
  4. <property name="LOG_HOME">/data/logs/dxtop</property>
  5. <Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{blue} %clr{%-5level}
  6. %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%l}{cyan} %clr{:}{faint} %m%n%xwEx
  7. </Property>
  8. </properties>
  9. <appenders>
  10. <!-- 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF -->
  11. <Console name="Console" target="SYSTEM_OUT">
  12. <!--只接受程序中INFO级别的日志进行处理-->
  13. <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
  14. <PatternLayout pattern="${CONSOLE_LOG_PATTERN}"/>
  15. </Console>
  16. <!--处理INFO级别的日志,并把该日志放到logs/info.log文件中-->
  17. <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
  18. filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
  19. <Filters>
  20. <!--只接受INFO级别的日志,其余的全部拒绝处理-->
  21. <LevelRangeFilter maxLevel="INFO" minLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
  22. </Filters>
  23. <PatternLayout
  24. pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  25. <Policies>
  26. <SizeBasedTriggeringPolicy size="200 MB"/>
  27. <TimeBasedTriggeringPolicy interval="1"/>
  28. </Policies>
  29. <DefaultRolloverStrategy max="30">
  30. <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
  31. <IfFileName glob="*.log.gz"/>
  32. <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
  33. 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
  34. <!--30天-->
  35. <IfLastModified age="30d"/>
  36. </Delete>
  37. </DefaultRolloverStrategy>
  38. </RollingFile>
  39. <!--处理WARN级别的日志,并把该日志放到logs/warn.log文件中-->
  40. <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log"
  41. filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
  42. <Filters>
  43. <ThresholdFilter level="WARN"/>
  44. <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
  45. </Filters>
  46. <PatternLayout
  47. pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  48. <Policies>
  49. <SizeBasedTriggeringPolicy size="200 MB"/>
  50. <TimeBasedTriggeringPolicy interval="1"/>
  51. </Policies>
  52. <DefaultRolloverStrategy max="30">
  53. <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
  54. <IfFileName glob="*.log.gz"/>
  55. <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
  56. 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
  57. <!--30天-->
  58. <IfLastModified age="30d"/>
  59. </Delete>
  60. </DefaultRolloverStrategy>
  61. </RollingFile>
  62. <!--处理error级别的日志,并把该日志放到logs/error.log文件中-->
  63. <RollingFile name="RollingFileError" fileName="${LOG_HOME}/error.log"
  64. filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
  65. <ThresholdFilter level="ERROR"/>
  66. <PatternLayout
  67. pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
  68. <Policies>
  69. <SizeBasedTriggeringPolicy size="200 MB"/>
  70. <TimeBasedTriggeringPolicy interval="1"/>
  71. </Policies>
  72. <DefaultRolloverStrategy max="30">
  73. <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
  74. <IfFileName glob="*.log.gz"/>
  75. <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
  76. 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
  77. <!--30天-->
  78. <IfLastModified age="30d"/>
  79. </Delete>
  80. </DefaultRolloverStrategy>
  81. </RollingFile>
  82. <!--sql的日志记录追加器-->
  83. <RollingFile name="druidSqlRollingFile" fileName="${LOG_HOME}/sql.log"
  84. filePattern="${LOG_HOME}/$${date:yyyy-MM}/sql-%d{yyyy-MM-dd}-%i.log.gz">
  85. <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>
  86. <Policies>
  87. <SizeBasedTriggeringPolicy size="200 MB"/>
  88. <TimeBasedTriggeringPolicy interval="1"/>
  89. </Policies>
  90. <DefaultRolloverStrategy max="30">
  91. <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
  92. <IfFileName glob="*.log.gz"/>
  93. <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
  94. 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
  95. <!--30天-->
  96. <IfLastModified age="30d"/>
  97. </Delete>
  98. </DefaultRolloverStrategy>
  99. </RollingFile>
  100. </appenders>
  101. <loggers>
  102. <root level="INFO">
  103. <appender-ref ref="Console"/>
  104. <appender-ref ref="RollingFileInfo"/>
  105. <appender-ref ref="RollingFileWarn"/>
  106. <appender-ref ref="RollingFileError"/>
  107. </root>
  108. <!--记录druid-sql的记录-->
  109. <logger name="druid.sql.Statement" level="INFO" additivity="false">
  110. <appender-ref ref="druidSqlRollingFile"/>
  111. </logger>
  112. <!--log4j2 自带过滤日志-->
  113. <Logger name="org.apache.catalina.util.LifecycleBase" level="error"/>
  114. <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn"/>
  115. <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn"/>
  116. <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error"/>
  117. <Logger name="org.hibernate.validator.internal.util.Version" level="warn"/>
  118. <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
  119. <logger name="org.thymeleaf" level="warn"/>
  120. </loggers>
  121. </configuration>