logback.xml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--日志级别高低TRACE < DEBUG < INFO < WARN < ERROR < FATAL-->
  3. <configuration scan="true" scanPeriod="60 seconds" debug="false">
  4. <!--引用外部配置文件中的变量属性-->
  5. <!--<property scope="context" resource="application.properties" />
  6. <springProperty scope="context" name="log.dir" source="hgas.log.dir"/>
  7. <springProperty scope="context" name="log.appname" source="hgas.log.appname"/>-->
  8. <contextName>TriCP</contextName>
  9. <!-- 自定义内部变量属性-->
  10. <property name="log.dir" value="./trilog/log"/>
  11. <property name="log.appname" value="tri"/>
  12. <!--输出到控制台-->
  13. <appender name="consoleOutput" class="ch.qos.logback.core.ConsoleAppender">
  14. <!-- 如果要过滤掉ERROR级别以下的日志请启用该行
  15. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  16. <level>ERROR</level>
  17. </filter>
  18. -->
  19. <!--对日志格式进行编码-->
  20. <!--%d{HH: mm:ss.SSS}——日志输出时间-->
  21. <!--%thread——输出日志的进程名字-->
  22. <!--%-5level——日志级别,并且使用5个字符靠左对齐-->
  23. <!--%logger{36}——日志输出者的名字-->
  24. <!--%msg——日志消息-->
  25. <!--%n——平台的换行符-->
  26. <encoder>
  27. <!--<pattern>%d{HH: mm:ss.SSS} %contextName {%thread} %-5level %logger{36} - %msg%n</pattern>-->
  28. <pattern>%d{HH: mm:ss.SSS} %contextName %-5level %msg%n</pattern>
  29. </encoder>
  30. </appender>
  31. <!--输出到文件-->
  32. <appender name="fileInfoOutput" class="ch.qos.logback.core.rolling.RollingFileAppender">
  33. <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
  34. 如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
  35. 的日志改名为今天的日期。即,<File> 的日志都是当天的。
  36. -->
  37. <File>${log.dir}/info.${log.appname}.log</File>
  38. <!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Warn 日志,因为 Warn 的级别高,
  39. 所以我们使用下面的策略,可以避免输出 Warn 的日志-->
  40. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  41. <level>Info</level> <!--过滤Warn-->
  42. <onMatch>ACCEPT</onMatch> <!--匹配到就运行-->
  43. <onMismatch>DENY</onMismatch> <!--没有匹配到就拒绝-->
  44. </filter>
  45. <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
  46. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  47. <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
  48. <FileNamePattern>${log.dir}/info.${log.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
  49. <!--只保留最近180天的日志-->
  50. <maxHistory>180</maxHistory>
  51. <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
  52. <totalSizeCap>10GB</totalSizeCap>
  53. </rollingPolicy>
  54. <!--日志输出编码格式化-->
  55. <encoder>
  56. <charset>UTF-8</charset>
  57. <!--<pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>-->
  58. <pattern>%d %-5level %msg%n</pattern>
  59. </encoder>
  60. </appender>
  61. <appender name="fileWarnOutput" class="ch.qos.logback.core.rolling.RollingFileAppender">
  62. <File>${log.dir}/warn.${log.appname}.log</File>
  63. <!--过滤出Warn以及以上的级别(Warn、Error)
  64. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  65. <level>Warn</level>
  66. </filter>-->
  67. <!--再对Error进行过滤-->
  68. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  69. <level>Warn</level> <!--过滤Error-->
  70. <onMatch>ACCEPT</onMatch> <!--匹配到就允许-->
  71. <onMismatch>DENY</onMismatch> <!--没有匹配到就拒绝-->
  72. </filter>
  73. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  74. <FileNamePattern>${log.dir}/warn.${log.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
  75. <maxHistory>180</maxHistory>
  76. <totalSizeCap>1GB</totalSizeCap>
  77. </rollingPolicy>
  78. <encoder>
  79. <charset>UTF-8</charset>
  80. <!--<pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>-->
  81. <pattern>%d %-5level %msg%n</pattern>
  82. </encoder>
  83. </appender>
  84. <appender name="fileErrorOutput" class="ch.qos.logback.core.rolling.RollingFileAppender">
  85. <File>${log.dir}/error.${log.appname}.log</File>
  86. <!--过滤出Error以及以上的级别-->
  87. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  88. <level>Error</level>
  89. </filter>
  90. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  91. <FileNamePattern>${log.dir}/error.${log.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
  92. <maxHistory>180</maxHistory>
  93. <totalSizeCap>1GB</totalSizeCap>
  94. </rollingPolicy>
  95. <encoder>
  96. <charset>UTF-8</charset>
  97. <!--<pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>-->
  98. <pattern>%d %-5level %msg%n</pattern>
  99. </encoder>
  100. </appender>
  101. <!--指定最基础的日志输出级别,低于Info级别的信息都不会输出-->
  102. <root level="info">
  103. <appender-ref ref="consoleOutput" />
  104. <appender-ref ref="fileInfoOutput" />
  105. <appender-ref ref="fileWarnOutput" />
  106. <appender-ref ref="fileErrorOutput" />
  107. </root>
  108. </configuration>