log4j2.xml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration status="WARN" monitorInterval="1800">
  3. <properties>
  4. <property name="LOG_HOME">logs</property>
  5. <property name="LOG_LEVEL_FILE">DEBUG</property>
  6. <property name="LOG_LEVEL_CONSOLE">DEBUG</property>
  7. <property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%t] [%logger{36}:%L] - %msg%n</property>
  8. </properties>
  9. <appenders>
  10. <!-- 控制台输出 -->
  11. <Console name="Console" target="SYSTEM_OUT">
  12. <ThresholdFilter level="${LOG_LEVEL_CONSOLE}" onMatch="ACCEPT" onMismatch="DENY"/>
  13. <PatternLayout pattern="${LOG_PATTERN}"/>
  14. </Console>
  15. <!-- 日志文件输出 -->
  16. <RollingFile name="LogFile" fileName="${LOG_HOME}/log.log"
  17. filePattern="${LOG_HOME}/$${date:yyyy-MM-dd-HH}/logs-%d{yyyy-MM-dd-HH}-%i.log">
  18. <ThresholdFilter level="${LOG_LEVEL_FILE}" onMatch="ACCEPT" onMismatch="DENY"/>
  19. <PatternLayout pattern="${LOG_PATTERN}"/>
  20. <Policies>
  21. <!-- 按时间分隔,设置为每小时 -->
  22. <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
  23. <!-- 限制单个日志文件大小 -->
  24. <SizeBasedTriggeringPolicy size="100 MB"/>
  25. </Policies>
  26. <!-- 保留最多240个文件 -->
  27. <DefaultRolloverStrategy max="240"/>
  28. </RollingFile>
  29. <!-- 错误日志文件输出 -->
  30. <RollingFile name="ErrorLogFile" fileName="${LOG_HOME}/error.log"
  31. filePattern="${LOG_HOME}/$${date:yyyy-MM-dd-HH}/error-%d{yyyy-MM-dd-HH}-%i.log">
  32. <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
  33. <PatternLayout pattern="${LOG_PATTERN}"/>
  34. <Policies>
  35. <!-- 按时间分隔,设置为每小时 -->
  36. <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
  37. <!-- 限制单个日志文件大小 -->
  38. <SizeBasedTriggeringPolicy size="100 MB"/>
  39. </Policies>
  40. <!-- 保留最多240个文件 -->
  41. <DefaultRolloverStrategy max="240"/>
  42. </RollingFile>
  43. </appenders>
  44. <loggers>
  45. <!-- 异步日志记录器,指定不同的包名 -->
  46. <AsyncLogger name="io.netty" level="${LOG_LEVEL_FILE}" additivity="false" includeLocation="true">
  47. <appender-ref ref="Console"/>
  48. <appender-ref ref="LogFile"/>
  49. <appender-ref ref="ErrorLogFile"/>
  50. </AsyncLogger>
  51. <AsyncLogger name="org.quartz.core" level="${LOG_LEVEL_FILE}" additivity="false" includeLocation="true">
  52. <appender-ref ref="Console"/>
  53. <appender-ref ref="LogFile"/>
  54. <appender-ref ref="ErrorLogFile"/>
  55. </AsyncLogger>
  56. <AsyncLogger name="com.incubator.game" level="${LOG_LEVEL_FILE}" additivity="false" includeLocation="true">
  57. <appender-ref ref="Console"/>
  58. <appender-ref ref="LogFile"/>
  59. <appender-ref ref="ErrorLogFile"/>
  60. </AsyncLogger>
  61. <!-- 根日志记录器,设置全局日志级别 -->
  62. <AsyncRoot level="${LOG_LEVEL_FILE}" additivity="false" includeLocation="true">
  63. <appender-ref ref="Console"/>
  64. <appender-ref ref="LogFile"/>
  65. <appender-ref ref="ErrorLogFile"/>
  66. </AsyncRoot>
  67. </loggers>
  68. </configuration>