logback-spring.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="60 seconds">
  3. <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
  4. <property name="PROJECT_NAME" value="tsi-comm-server"/>
  5. <property name="ROOT_LOG_LEVEL" value="DEBUG"/>
  6. <property name="LOG_CHARSET" value="UTF-8" />
  7. <springProperty scope="context" name="LOGGING_PATH" source="logging.file.path"/>
  8. <property name="LOG_PATH" value="${LOGGING_PATH:-${user.dir}/logs/${PROJECT_NAME}}/"/>
  9. <property name="LOG_BACKUP_PATH" value="${LOG_PATH}/backup/"/>
  10. <property name="LOG_FILE_NAME" value="${PROJECT_NAME}.log"/>
  11. <property name="LOG_FILE_NAME_ERROR" value="${PROJECT_NAME}.err.log"/>
  12. <property name="LOG_FILE_NAME_PATTERN" value="%d{yyyyMMdd}_%i.log.gz"/>
  13. <property name="LOG_FILE_NAME_PROCESS" value="process"/>
  14. <property name="LOG_FILE_NAME_RAW" value="raw"/>
  15. <property name="LOG_FILE_NAME_SESSION" value="session.log"/>
  16. <property name="LOG_FILE_NAME_SCHEDULE" value="schedule.log"/>
  17. <property name="LOG_FILE_NAME_REPORT" value="report.log"/>
  18. <property name="LOG_FILE_NAME_CONFIG" value="config.log"/>
  19. <property name="LOG_FILE_NAME_DBMS" value="dbms.log"/>
  20. <property name="LOG_FILE_NAME_KAFKA" value="kafka.log"/>
  21. <property name="MAX_FILESIZE" value="20MB"/>
  22. <property name="MAX_HISTORY" value="15"/>
  23. <property name="MAX_PROCESS_FILESIZE" value="20MB"/>
  24. <property name="LOG_PATTERN_FILE" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %msg%n"/>
  25. <property name="LOG_PATTERN_ERROR" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] %msg%n"/>
  26. <property name="LOG_PATTERN_PROCESS" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %msg%n"/>
  27. <property name="LOG_PATTERN_RAW" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %msg%n"/>
  28. <property name="LOG_PATTERN_CONSOLE" value="[%d{HH:mm:ss.SSS}] %highlight([%5level]) %highlight(${PID:-}): %cyan(%msg) %n"/>
  29. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  30. <withJansi>true</withJansi>
  31. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  32. <charset>${LOG_CHARSET}</charset>
  33. <pattern>${LOG_PATTERN_CONSOLE}</pattern>
  34. </encoder>
  35. </appender>
  36. <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  37. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  38. <level>error</level>
  39. <onMatch>ACCEPT</onMatch>
  40. <onMismatch>DENY</onMismatch>
  41. </filter>
  42. <file>${LOG_PATH}${LOG_FILE_NAME_ERROR}</file>
  43. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  44. <charset>${LOG_CHARSET}</charset>
  45. <pattern>${LOG_PATTERN_ERROR}</pattern>
  46. </encoder>
  47. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  48. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME_ERROR}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
  49. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  50. <maxHistory>${MAX_HISTORY}</maxHistory>
  51. </rollingPolicy>
  52. </appender>
  53. <appender name="FILE_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  54. <file>${LOG_PATH}${LOG_FILE_NAME}</file>
  55. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  56. <charset>${LOG_CHARSET}</charset>
  57. <pattern>${LOG_PATTERN_FILE}</pattern>
  58. </encoder>
  59. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  60. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME}.${LOG_FILE_NAME_PATTERN}</fileNamePattern>
  61. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  62. <maxHistory>${MAX_HISTORY}</maxHistory>
  63. </rollingPolicy>
  64. </appender>
  65. <appender name="FILE_PROCESS" class="ch.qos.logback.classic.sift.SiftingAppender">
  66. <discriminator>
  67. <key>id</key>
  68. <defaultValue>${LOG_FILE_NAME_PROCESS}</defaultValue>
  69. </discriminator>
  70. <sift>
  71. <appender name="FILE-${id}" class="ch.qos.logback.core.rolling.RollingFileAppender">
  72. <file>${LOG_PATH}process/${id}.log</file>
  73. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  74. <charset>${LOG_CHARSET}</charset>
  75. <Pattern>${LOG_PATTERN_PROCESS}</Pattern>
  76. </encoder>
  77. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  78. <FileNamePattern>${LOG_BACKUP_PATH}process/${id}.${LOG_FILE_NAME_PATTERN}</FileNamePattern>
  79. <maxFileSize>${MAX_PROCESS_FILESIZE}</maxFileSize>
  80. <maxHistory>${MAX_HISTORY}</maxHistory>
  81. </rollingPolicy>
  82. </appender>
  83. </sift>
  84. </appender>
  85. <logger name="com.tsi.comm.server.process.packet" level="INFO" additivity="false">
  86. <appender-ref ref="FILE_PROCESS"/>
  87. <appender-ref ref="FILE_ERROR"/>
  88. </logger>
  89. <logger name="com.tsi.comm.server.process.logging" level="INFO" additivity="false">
  90. <appender-ref ref="FILE_PROCESS"/>
  91. <appender-ref ref="FILE_ERROR"/>
  92. </logger>
  93. <logger name="com.tsi.comm.server.tcp.handler.MdcLoggingHandler" level="INFO" additivity="false">
  94. <appender-ref ref="FILE_PROCESS"/>
  95. <appender-ref ref="FILE_ERROR"/>
  96. </logger>
  97. <root level="INFO">
  98. <!-- <appender-ref ref="CONSOLE"/>-->
  99. <appender-ref ref="FILE_LOG"/>
  100. <appender-ref ref="FILE_ERROR"/>
  101. </root>
  102. <appender name="FILE_CONFIG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  103. <file>${LOG_PATH}${LOG_FILE_NAME_CONFIG}</file>
  104. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  105. <charset>${LOG_CHARSET}</charset>
  106. <pattern>${LOG_PATTERN_FILE}</pattern>
  107. </encoder>
  108. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  109. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME_CONFIG}.${LOG_FILE_NAME_PATTERN}</fileNamePattern>
  110. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  111. <maxHistory>${MAX_HISTORY}</maxHistory>
  112. </rollingPolicy>
  113. </appender>
  114. <logger name="com.tsi.comm.server.config" level="INFO" additivity="true">
  115. <appender-ref ref="CONSOLE"/>
  116. <appender-ref ref="FILE_CONFIG"/>
  117. <appender-ref ref="FILE_ERROR"/>
  118. </logger>
  119. <logger name="com.tsi.comm.server.TsiCommServerApplication" level="INFO" additivity="true">
  120. <appender-ref ref="CONSOLE"/>
  121. <appender-ref ref="FILE_CONFIG"/>
  122. <appender-ref ref="FILE_ERROR"/>
  123. </logger>
  124. <appender name="FILE_DBMS" class="ch.qos.logback.core.rolling.RollingFileAppender">
  125. <file>${LOG_PATH}${LOG_FILE_NAME_DBMS}</file>
  126. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  127. <charset>${LOG_CHARSET}</charset>
  128. <pattern>${LOG_PATTERN_FILE}</pattern>
  129. </encoder>
  130. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  131. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME_DBMS}.${LOG_FILE_NAME_PATTERN}</fileNamePattern>
  132. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  133. <maxHistory>${MAX_HISTORY}</maxHistory>
  134. </rollingPolicy>
  135. </appender>
  136. <logger name="com.tsi.comm.server.process.dbms" level="INFO" additivity="false">
  137. <appender-ref ref="FILE_DBMS"/>
  138. <appender-ref ref="FILE_ERROR"/>
  139. </logger>
  140. <appender name="FILE_KAFKA" class="ch.qos.logback.core.rolling.RollingFileAppender">
  141. <file>${LOG_PATH}${LOG_FILE_NAME_KAFKA}</file>
  142. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  143. <charset>${LOG_CHARSET}</charset>
  144. <pattern>${LOG_PATTERN_FILE}</pattern>
  145. </encoder>
  146. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  147. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME_KAFKA}.${LOG_FILE_NAME_PATTERN}</fileNamePattern>
  148. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  149. <maxHistory>${MAX_HISTORY}</maxHistory>
  150. </rollingPolicy>
  151. </appender>
  152. <logger name="com.tsi.comm.server.kafka" level="INFO" additivity="false">
  153. <appender-ref ref="FILE_KAFKA"/>
  154. <appender-ref ref="FILE_ERROR"/>
  155. </logger>
  156. <appender name="FILE_SESSION" class="ch.qos.logback.core.rolling.RollingFileAppender">
  157. <file>${LOG_PATH}${LOG_FILE_NAME_SESSION}</file>
  158. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  159. <charset>${LOG_CHARSET}</charset>
  160. <pattern>${LOG_PATTERN_FILE}</pattern>
  161. </encoder>
  162. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  163. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME_SESSION}.${LOG_FILE_NAME_PATTERN}</fileNamePattern>
  164. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  165. <maxHistory>${MAX_HISTORY}</maxHistory>
  166. </rollingPolicy>
  167. </appender>
  168. <logger name="com.tsi.comm.server.tcp" level="INFO" additivity="false">
  169. <appender-ref ref="FILE_SESSION"/>
  170. <appender-ref ref="FILE_ERROR"/>
  171. </logger>
  172. <appender name="FILE_REPORT" class="ch.qos.logback.classic.sift.SiftingAppender">
  173. <discriminator>
  174. <key>filename</key>
  175. <defaultValue>${LOG_FILE_NAME_REPORT}</defaultValue>
  176. </discriminator>
  177. <sift>
  178. <appender name="FILE-${filename}" class="ch.qos.logback.core.rolling.RollingFileAppender">
  179. <file>${LOG_PATH}/${filename}.log</file>
  180. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  181. <charset>${LOG_CHARSET}</charset>
  182. <Pattern>${LOG_PATTERN_PROCESS}</Pattern>
  183. </encoder>
  184. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  185. <FileNamePattern>${LOG_BACKUP_PATH}/${filename}.${LOG_FILE_NAME_PATTERN}</FileNamePattern>
  186. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  187. <maxHistory>${MAX_HISTORY}</maxHistory>
  188. </rollingPolicy>
  189. </appender>
  190. </sift>
  191. </appender>
  192. <logger name="com.tsi.comm.server.repository" level="INFO" additivity="false">
  193. <appender-ref ref="FILE_REPORT"/>
  194. <appender-ref ref="FILE_ERROR"/>
  195. </logger>
  196. <appender name="FILE_SCHEDULE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  197. <file>${LOG_PATH}${LOG_FILE_NAME_SCHEDULE}</file>
  198. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  199. <charset>${LOG_CHARSET}</charset>
  200. <pattern>${LOG_PATTERN_FILE}</pattern>
  201. </encoder>
  202. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  203. <fileNamePattern>${LOG_BACKUP_PATH}${LOG_FILE_NAME_SCHEDULE}.${LOG_FILE_NAME_PATTERN}</fileNamePattern>
  204. <maxFileSize>${MAX_FILESIZE}</maxFileSize>
  205. <maxHistory>${MAX_HISTORY}</maxHistory>
  206. </rollingPolicy>
  207. </appender>
  208. <logger name="com.tsi.comm.server.scheduler" level="INFO" additivity="false">
  209. <appender-ref ref="FILE_SCHEDULE"/>
  210. <appender-ref ref="FILE_ERROR"/>
  211. </logger>
  212. </configuration>