1. <?xml version="1.0" encoding="UTF-8"?>
    2. <configuration>
    3. <include
    4. resource="org/springframework/boot/logging/logback/base.xml" />
    5. <!--设置系统日志目录 -->
    6. <property name="LOG_PATH" value="logs" />
    7. <!--设置APP名称 -->
    8. <property name="APPDIR" value="daikinShop" />
    9. <logger name="org.springframework.web" level="INFO" />
    10. <logger name="org.springboot.sample" level="TRACE" />
    11. <!-- ST联测、开发、测试环境 -->
    12. <springProfile name="st,dev,test">
    13. <!-- 日志记录器,日期滚动记录 -->
    14. <appender name="FILE_INTEGRATION"
    15. class="ch.qos.logback.core.rolling.RollingFileAppender">
    16. <file>${LOG_PATH}/${APPDIR}/log_integration.log</file>
    17. <rollingPolicy
    18. class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    19. <fileNamePattern>${LOG_PATH}/${APPDIR}/log_integration_%d{yyyy-MM-dd}.%i.log
    20. </fileNamePattern>
    21. <timeBasedFileNamingAndTriggeringPolicy
    22. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    23. <maxFileSize>2MB</maxFileSize>
    24. </timeBasedFileNamingAndTriggeringPolicy>
    25. </rollingPolicy>
    26. <append>true</append>
    27. <encoder
    28. class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    29. <pattern>${FILE_LOG_PATTERN}</pattern>
    30. <charset>utf-8</charset>
    31. </encoder>
    32. </appender>
    33. <root>
    34. <appender-ref ref="FILE_INTEGRATION" />
    35. </root>
    36. <logger name="org.springframework.web" level="INFO" />
    37. <logger name="org.springboot.sample" level="INFO" />
    38. <logger name="com.daikin" level="DEBUG" />
    39. </springProfile>
    40. <!-- 生产环境 -->
    41. <springProfile name="prod">
    42. <!-- 日志记录器,日期滚动记录 -->
    43. <appender name="FILE_ERROR"
    44. class="ch.qos.logback.core.rolling.RollingFileAppender">
    45. <!-- 正在记录的日志文件的路径及文件名 -->
    46. <file>${LOG_PATH}/${APPDIR}/log_error.log</file>
    47. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
    48. <rollingPolicy
    49. class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    50. <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
    51. 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
    52. <fileNamePattern>${LOG_PATH}/${APPDIR}/log_error_%d{yyyy-MM-dd}.%i.log
    53. </fileNamePattern>
    54. <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, 命名日志文件,例如log-error-2013-12-21.0.log -->
    55. <timeBasedFileNamingAndTriggeringPolicy
    56. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    57. <maxFileSize>2MB</maxFileSize>
    58. </timeBasedFileNamingAndTriggeringPolicy>
    59. </rollingPolicy>
    60. <!-- 追加方式记录日志 -->
    61. <append>true</append>
    62. <!-- 日志文件的格式 -->
    63. <encoder
    64. class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    65. <pattern>${FILE_LOG_PATTERN}</pattern>
    66. <charset>utf-8</charset>
    67. </encoder>
    68. <!-- 此日志文件只记录error级别的 -->
    69. <filter class="ch.qos.logback.classic.filter.LevelFilter">
    70. <level>error</level>
    71. <onMatch>ACCEPT</onMatch>
    72. <onMismatch>DENY</onMismatch>
    73. </filter>
    74. </appender>
    75. <!-- 日志记录器,日期滚动记录 -->
    76. <appender name="FILE_WARN"
    77. class="ch.qos.logback.core.rolling.RollingFileAppender">
    78. <file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
    79. <rollingPolicy
    80. class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    81. <fileNamePattern>${LOG_PATH}/${APPDIR}/log_warn_%d{yyyy-MM-dd}.%i.log
    82. </fileNamePattern>
    83. <timeBasedFileNamingAndTriggeringPolicy
    84. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    85. <maxFileSize>2MB</maxFileSize>
    86. </timeBasedFileNamingAndTriggeringPolicy>
    87. </rollingPolicy>
    88. <append>true</append>
    89. <encoder
    90. class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    91. <pattern>${FILE_LOG_PATTERN}</pattern>
    92. <charset>utf-8</charset>
    93. </encoder>
    94. <filter class="ch.qos.logback.classic.filter.LevelFilter">
    95. <level>warn</level>
    96. <onMatch>ACCEPT</onMatch>
    97. <onMismatch>DENY</onMismatch>
    98. </filter>
    99. </appender>
    100. <!-- 日志记录器,日期滚动记录 -->
    101. <appender name="FILE_INFO"
    102. class="ch.qos.logback.core.rolling.RollingFileAppender">
    103. <file>${LOG_PATH}/${APPDIR}/log_info.log</file>
    104. <rollingPolicy
    105. class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    106. <fileNamePattern>${LOG_PATH}/${APPDIR}/log_info_%d{yyyy-MM-dd}.%i.log
    107. </fileNamePattern>
    108. <timeBasedFileNamingAndTriggeringPolicy
    109. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    110. <maxFileSize>2MB</maxFileSize>
    111. </timeBasedFileNamingAndTriggeringPolicy>
    112. </rollingPolicy>
    113. <append>true</append>
    114. <encoder
    115. class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    116. <pattern>${FILE_LOG_PATTERN}</pattern>
    117. <charset>utf-8</charset>
    118. </encoder>
    119. <!-- 此日志文件只记录info级别的 -->
    120. <filter class="ch.qos.logback.classic.filter.LevelFilter">
    121. <level>info</level>
    122. <onMatch>ACCEPT</onMatch>
    123. <onMismatch>DENY</onMismatch>
    124. </filter>
    125. </appender>
    126. <root>
    127. <appender-ref ref="FILE_ERROR" />
    128. <appender-ref ref="FILE_WARN" />
    129. <appender-ref ref="FILE_INFO" />
    130. </root>
    131. <logger name="org.springframework.web" level="ERROR" />
    132. <logger name="org.springboot.sample" level="ERROR" />
    133. <logger name="com.daikin" level="INFO" />
    134. </springProfile>
    135. </configuration>