java日志logback配置文件详解

秒速五厘米 2023-01-06 11:44 322阅读 0赞

logback配置

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!--根结点-->
  3. <configuration scan="true" scanPeriod="60 seconds" debug="false">
  4. <!--configuration:-->
  5. <!--scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true-->
  6. <!--scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒.当scan为true时,此属性生效.默认的时间间隔为1分钟-->
  7. <!--debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态.默认值为false-->
  8. <!-- 属性文件:在properties文件中找到对应的配置项 -->
  9. <property name="logging.path" value="/Users/huqunqing/work_log/testdemo_log/log/junitDemoLog"/>
  10. <!--property:-->
  11. <!--name:变量的名称,在上下文中可通过${}来使用-->
  12. <!--value:变量定义的值-->
  13. <!--上下文名称-->
  14. <contextName>junitDemoLog</contextName>
  15. <!--ch.qos.logback.core.rolling.RollingFileAppender=>日志文件输出-->
  16. <!--根据日志级别分离日志,分别输出到不同的文件-->
  17. <appender name="STDOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
  18. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  19. <!--通过设置日志级别来筛选出该文件输出什么级别的日志-->
  20. <level>STDOUT</level>
  21. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以上-->
  22. <!--<onMatch>DENY</onMatch>-->
  23. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以下-->
  24. <!--<onMismatch>ACCEPT</onMismatch>-->
  25. </filter>
  26. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  27. <!--格式化输出(配色):%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  28. <pattern>
  29. %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
  30. </pattern>
  31. <!--日志文件内容编码格式-->
  32. <charset>UTF-8</charset>
  33. </encoder>
  34. <!--滚动策略-->
  35. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  36. <!--按时间保存日志 修改格式可以按小时、按天、月来保存-->
  37. <fileNamePattern>${logging.path}/junitDemoLog.stdout.%d{yyyy-MM-dd}.log</fileNamePattern>
  38. <!--保存时长-->
  39. <MaxHistory>90</MaxHistory>
  40. <!--文件大小-->
  41. <totalSizeCap>1GB</totalSizeCap>
  42. </rollingPolicy>
  43. </appender>
  44. <!--根据日志级别分离日志,分别输出到不同的文件-->
  45. <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  46. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  47. <!--通过设置日志级别来筛选出该文件输出什么级别的日志-->
  48. <level>INFO</level>
  49. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以上-->
  50. <!--<onMatch>DENY</onMatch>-->
  51. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以下-->
  52. <!--<onMismatch>ACCEPT</onMismatch>-->
  53. </filter>
  54. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  55. <!--日志文件中输出日志信息格式-->
  56. <pattern>
  57. %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
  58. </pattern>
  59. <!--日志文件内容编码格式-->
  60. <charset>UTF-8</charset>
  61. </encoder>
  62. <!--滚动策略-->
  63. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  64. <!--按时间保存日志 修改格式可以按小时、按天、月来保存-->
  65. <fileNamePattern>${logging.path}/junitDemoLog.info.%d{yyyy-MM-dd}.log</fileNamePattern>
  66. <!--保存时长-->
  67. <MaxHistory>90</MaxHistory>
  68. <!--文件大小-->
  69. <totalSizeCap>1GB</totalSizeCap>
  70. </rollingPolicy>
  71. </appender>
  72. <!--根据日志级别分离日志,分别输出到不同的文件-->
  73. <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  74. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  75. <!--通过设置日志级别来筛选出该文件输出什么级别的日志-->
  76. <level>ERROR</level>
  77. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以上-->
  78. <!--<onMatch>DENY</onMatch>-->
  79. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以下-->
  80. <!--<onMismatch>ACCEPT</onMismatch>-->
  81. </filter>
  82. <encoder>
  83. <!--日志文件中输出日志信息格式-->
  84. <pattern>
  85. %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
  86. </pattern>
  87. <!--日志文件内容编码格式-->
  88. <charset>UTF-8</charset>
  89. </encoder>
  90. <!--滚动策略-->
  91. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  92. <!--路径-->
  93. <fileNamePattern>${logging.path}/junitDemoLog.error.%d{yyyy-MM-dd}.log</fileNamePattern>
  94. <!--保存时长-->
  95. <MaxHistory>90</MaxHistory>
  96. <!--文件大小-->
  97. <totalSizeCap>1GB</totalSizeCap>
  98. </rollingPolicy>
  99. </appender>
  100. <!--根据日志级别分离日志,分别输出到不同的文件-->
  101. <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  102. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  103. <!--通过设置日志级别来筛选出该文件输出什么级别的日志-->
  104. <level>DEBUG</level>
  105. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以上-->
  106. <!--<onMatch>DENY</onMatch>-->
  107. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以下-->
  108. <!--<onMismatch>ACCEPT</onMismatch>-->
  109. </filter>
  110. <encoder>
  111. <!--日志文件中输出日志信息格式-->
  112. <pattern>
  113. %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
  114. </pattern>
  115. <!--日志文件内容编码格式-->
  116. <charset>UTF-8</charset>
  117. </encoder>
  118. <!--滚动策略-->
  119. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  120. <!--路径-->
  121. <fileNamePattern>${logging.path}/junitDemoLog.debug.%d{yyyy-MM-dd}.log</fileNamePattern>
  122. <!--保存时长-->
  123. <MaxHistory>90</MaxHistory>
  124. <!--文件大小-->
  125. <totalSizeCap>1GB</totalSizeCap>
  126. </rollingPolicy>
  127. </appender>
  128. <!--ch.qos.logback.core.ConsoleAppender=>日志控制台输出-->
  129. <appender name="STDOUT_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  130. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  131. <!--通过设置日志级别来筛选出该文件输出什么级别的日志-->
  132. <level>STDOUT</level>
  133. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以上-->
  134. <onMatch>DENY</onMatch>
  135. <!--ACCEPT、DENY、NEUTRAL,onMatch表示接受、拒绝、交给下一个filter处理(如果为最后一个也表示为接受)匹配该级别及以下-->
  136. <onMismatch>ACCEPT</onMismatch>
  137. </filter>
  138. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  139. <!--格式化输出(配色):%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  140. <pattern>
  141. %yellow(%d{yyyy-MM-dd HH:mm:ss}) %red([%thread]) %highlight(%-5level) %cyan(%logger{50}) -
  142. %magenta(%msg) %n
  143. </pattern>
  144. <!--日志文件内容编码格式-->
  145. <charset>UTF-8</charset>
  146. </encoder>
  147. </appender>
  148. <!--设置哪些输出日志和日志的输出级别-->
  149. <logger name="com.ibatis" level="DEBUG"/>
  150. <logger name="java.sql.Connection" level="DEBUG"/>
  151. <logger name="java.sql.Statement" level="DEBUG"/>
  152. <logger name="java.sql.PreparedStatement" level="DEBUG"/>
  153. <logger name="java.sql.ResultSet" level="DEBUG"/>
  154. <logger name="cn.hqq.springboot.mapper" level="DEBUG"/>
  155. <!--level控制将打印哪种级别的日志-->
  156. <root level="DEBUG">
  157. <appender-ref ref="INFO"/>
  158. <appender-ref ref="ERROR"/>
  159. <appender-ref ref="DEBUG"/>
  160. <!-- 生产环境将请STDOUT、STDOUT_CONSOLE去掉 -->
  161. <appender-ref ref="STDOUT"/>
  162. <appender-ref ref="STDOUT_CONSOLE"/>
  163. </root>
  164. </configuration>

发表评论

表情:
评论列表 (有 0 条评论,322人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LogBack日志xml配置文件

    值得注意的是在使用2023版idea时,logback的配置文件名一定要写为log-back.xml,否则日志会有其他错误信息。配置好logback坐标或者导入jar包之后将一