1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <configuration scan =" true" scanPeriod =" 10 seconds" >
3
+ <include resource =" org/springframework/boot/logging/logback/defaults.xml" />
4
+ <include resource =" org/springframework/boot/logging/logback/console-appender.xml" />
5
+
6
+ <property name =" LOG_FILE" value =" logback" />
7
+ <property name =" LOG_PATH" value =" ./logs/debug" />
8
+ <property name =" LOG_HIBERNATE_PATH" value =" ./logs/hibernate" />
9
+ <property name =" LOG_ERROR_PATH" value =" ./logs/error" />
10
+
11
+ <springProfile name =" local" >
12
+ <root level =" DEBUG" >
13
+ <appender-ref ref =" CONSOLE" />
14
+ </root >
15
+ </springProfile >
16
+
17
+ <springProfile name =" prod" >
18
+ <appender name =" ERROR-FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
19
+ <filter class =" ch.qos.logback.classic.filter.LevelFilter" >
20
+ <level >ERROR</level >
21
+ <onMatch >ACCEPT</onMatch >
22
+ <onMismatch >DENY</onMismatch >
23
+ </filter >
24
+ <encoder class =" ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
25
+ <charset >UTF-8</charset >
26
+ <pattern >${FILE_LOG_PATTERN}</pattern >
27
+ </encoder >
28
+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
29
+ <fileNamePattern >${LOG_ERROR_PATH}/%d{yyyy-MM-dd}/${LOG_FILE}-%d{yyyy.MM.dd}-%i.log</fileNamePattern >
30
+ <timeBasedFileNamingAndTriggeringPolicy class =" ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
31
+ <maxFileSize >10MB</maxFileSize >
32
+ </timeBasedFileNamingAndTriggeringPolicy >
33
+ <maxHistory >30</maxHistory >
34
+ </rollingPolicy >
35
+ </appender >
36
+
37
+ <appender name =" ROLLING-FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
38
+ <encoder class =" ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
39
+ <charset >UTF-8</charset >
40
+ <pattern >${FILE_LOG_PATTERN}</pattern >
41
+ </encoder >
42
+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
43
+ <fileNamePattern >${LOG_PATH}/%d{yyyy-MM-dd}/${LOG_FILE}-%d{yyyy.MM.dd}-%i.log</fileNamePattern >
44
+ <timeBasedFileNamingAndTriggeringPolicy class =" ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
45
+ <maxFileSize >10MB</maxFileSize >
46
+ </timeBasedFileNamingAndTriggeringPolicy >
47
+ <maxHistory >30</maxHistory >
48
+ </rollingPolicy >
49
+ </appender >
50
+
51
+ <appender name =" HIBERNATE-FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
52
+ <encoder class =" ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
53
+ <charset >UTF-8</charset >
54
+ <pattern >${FILE_LOG_PATTERN}</pattern >
55
+ </encoder >
56
+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
57
+ <fileNamePattern >${LOG_HIBERNATE_PATH}/%d{yyyy-MM-dd}/${LOG_FILE}.%d{yyyy-MM-dd}-%i.log
58
+ </fileNamePattern >
59
+ <timeBasedFileNamingAndTriggeringPolicy class =" ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
60
+ <maxFileSize >10MB</maxFileSize >
61
+ </timeBasedFileNamingAndTriggeringPolicy >
62
+ <maxHistory >30</maxHistory >
63
+ </rollingPolicy >
64
+ </appender >
65
+
66
+ <root level =" INFO" >
67
+ <appender-ref ref =" ROLLING-FILE" />
68
+ <appender-ref ref =" ERROR-FILE" />
69
+ </root >
70
+
71
+ <logger name =" org.hibernate.SQL" level =" DEBUG" >
72
+ <appender-ref ref =" HIBERNATE-FILE" />
73
+ </logger >
74
+ </springProfile >
75
+ </configuration >
0 commit comments