Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.66 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <!--
  4. status : 这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成TRACE时,会看到log4j2内部各种详细输出
  5. monitorInterval : Log4j能够自动检测修改配置文件和重新配置本身, 设置间隔秒数。此处表示每隔几秒重读一次配置文件.
  6. 日志级别:TRACE < DEBUG < INFO < WARN < ERROR < FATAL
  7. 如果设置为WARN,则低于WARN的信息都不会输出
  8. -->
  9. <Configuration status="INFO" monitorInterval="1800">
  10. <!-- 参数配置 -->
  11. <Properties>
  12. <!-- 配置日志文件输出目录 -->
  13. <Property name="LOG_HOME">./logs/test/</Property>
  14. <!-- 日志输出文件名 -->
  15. <property name="FILE_NAME">test-info</property>
  16. <property name="ERROR_FILE_NAME">test-error</property>
  17. <!-- 日志格式化 -->
  18. <property name="console_pattern_layout">
  19. %highlight{%d{yyyy-MM-dd HH:mm:ss.SSS} [%5level][%c{1.}]-(%t)} %m%n
  20. </property>
  21. <property name="pattern_layout">
  22. %d{yyyy-MM-dd HH:mm:ss.SSS} [%5level][%logger{36}]-(%t) %m%n
  23. </property>
  24. </Properties>
  25.  
  26. <!-- 日志配置Appender -->
  27. <Appenders>
  28. <!-- 输出控制台的配置 -->
  29. <Console name="Console" target="SYSTEM_OUT">
  30. <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="ACCEPT" />
  31. <PatternLayout pattern="${console_pattern_layout}"/>
  32. </Console>
  33.  
  34. <!-- 文件输出配置,文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用 -->
  35. <!--<File name="log" fileName="log/test.log" append="false">
  36. <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
  37. </File>-->
  38.  
  39. <!--
  40. 循环日志文件配置:日志文件大于阀值的时候,就开始写一个新的日志文件
  41. 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档
  42. fileName : 指定当前日志文件的位置和文件名称
  43. filePattern : 指定当发生Rolling时,文件的转移和重命名规则
  44. SizeBasedTriggeringPolicy : 指定当文件体积大于size指定的值时,触发Rolling
  45. DefaultRolloverStrategy : 指定最多保存的文件个数
  46. TimeBasedTriggeringPolicy : 这个配置需要和filePattern结合使用
  47. 注意filePattern中配置的文件重命名规则是${FILE_NAME}_%d{yyyy-MM-dd}_%i,最小的时间粒度是dd,即天,
  48. TimeBasedTriggeringPolicy指定的size是1,结合起来就是每1天生成一个新文件
  49. -->
  50. <RollingRandomAccessFile name="INFO_FILE"
  51. fileName="${LOG_HOME}/${FILE_NAME}.log"
  52. filePattern="${LOG_HOME}/${FILE_NAME}-%d{yyyy-MM-dd}_%i.log">
  53. <Filters>
  54. <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
  55. </Filters>
  56. <PatternLayout pattern="${pattern_layout}"/>
  57. <Policies>
  58. <TimeBasedTriggeringPolicy interval="1"/>
  59. <SizeBasedTriggeringPolicy size="100MB"/>
  60. </Policies>
  61. <DefaultRolloverStrategy max="20"/>
  62. </RollingRandomAccessFile>
  63.  
  64. <!-- 错误日志 -->
  65. <RollingRandomAccessFile name="ERROR_FILE"
  66. fileName="${LOG_HOME}/${ERROR_FILE_NAME}.log"
  67. filePattern="${LOG_HOME}/${ERROR_FILE_NAME}-%d{yyyy-MM-dd}_%i.log">
  68. <Filters>
  69. <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
  70. </Filters>
  71. <PatternLayout pattern="${pattern_layout}"/>
  72. <Policies>
  73. <TimeBasedTriggeringPolicy interval="1"/>
  74. <SizeBasedTriggeringPolicy size="100MB"/>
  75. </Policies>
  76. <DefaultRolloverStrategy max="20"/>
  77. </RollingRandomAccessFile>
  78.  
  79. <!-- 异步日志配置 -->
  80. <Async name="AsyncAll">
  81. <AppenderRef ref="Console"/>
  82. <AppenderRef ref="INFO_FILE"/>
  83. <AppenderRef ref="ERROR_FILE"/>
  84. </Async>
  85. </Appenders>
  86.  
  87. <!-- 日志记录Logger -->
  88. <Loggers>
  89. <Logger name="org.hibernate" level="INFO" additivity="false">
  90. <AppenderRef ref="AsyncAll"/>
  91. </Logger>
  92. <Root level="INFO">
  93. <AppenderRef ref="Console"/>
  94. <AppenderRef ref="INFO_FILE"/>
  95. <AppenderRef ref="ERROR_FILE"/>
  96. </Root>
  97. </Loggers>
  98.  
  99. </Configuration>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement