354798ggg
2023-06-06 c39259bd1486839b25909b4623c24648a34ead49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<configuration>
    <!-- <property name="LOG_HOME" value="/opt/mrc_ats/logs/backend" /> -->
    <property name="LOG_HOME" value="./logs/backend" />
    <!-- <property name="LOG_HOME" value="/Users/fuller/Desktop/logs/backend" /> -->
    <timestamp key="byDate" datePattern="yyyy-MM-dd"/>
    <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
    <property name="MESSAGE_FILE_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}.%M - %msg%n" />
    <!-- 日志文件保留时长 -->
    <property name="maxhistory" value="60"/>
    <!-- 日志文件分割大小 -->
    <property name="logSize" value="500MB"/>
 
    <!-- 控制台 -->
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${MESSAGE_FILE_PATTERN}</Pattern>
        </layout>
    </appender>
 
    <!-- error级别日志文件 -->
    <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error/ats_backend_error_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>${maxhistory}</maxHistory>
            <!--日志分割大小-->
            <maxFileSize>${logSize}</maxFileSize>
        </rollingPolicy>
        <encoder>
            <pattern>${MESSAGE_FILE_PATTERN}</pattern>
        </encoder>
    </appender>
 
    <!-- info级别日志文件 -->
    <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/info/ats_backend_info_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>${maxhistory}</maxHistory>
            <!--日志分割大小-->
            <maxFileSize>${logSize}</maxFileSize>
        </rollingPolicy>
        <encoder>
            <pattern>${MESSAGE_FILE_PATTERN}</pattern>
        </encoder>
    </appender>
 
    <!-- debug级别日志文件 -->
    <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/debug/ats_backend_debug_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>${maxhistory}</maxHistory>
            <!--日志分割大小-->
            <maxFileSize>${logSize}</maxFileSize>
        </rollingPolicy>
        <encoder>
            <pattern>${MESSAGE_FILE_PATTERN}</pattern>
        </encoder>
    </appender>
 
 
 
    <!-- 打印监控日志文件 
    <appender name="file—monitor" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_HOME}/ats_backend_monitor.log</file>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%logger{50}.%M] - %msg%n</pattern>
        </encoder>
    </appender>
    -->
    
    <!-- 
    <logger name="monitor" additivity="false">
        <appender-ref ref="file—monitor"/>
    </logger>
     -->
 
    <!--db log configure-->
    <logger name="com.apache.ibatis" level="INFO"/>
    <logger name="java.sql.Connection" level="INFO"/>
    <logger name="java.sql.Statement" level="INFO"/>
    <logger name="java.sql.PreparedStatement" level="INFO"/>
    <logger name="org.springframework" level="INFO"/>
    
 
    <!-- 生产环境 -->
    <springProfile name="prod">
        <root level="info">
            <appender-ref ref="errorAppender"/>
            <appender-ref ref="infoAppender"/>
        </root>
    </springProfile>
 
    <!-- 测试环境 -->
    <springProfile name="test">
        <root level="debug">
            <appender-ref ref="errorAppender"/>
            <appender-ref ref="infoAppender"/>
            <appender-ref ref="debugAppender"/>
        </root>
    </springProfile>
 
    <!-- 开发环境 -->
    <springProfile name="dev">
        <root level="debug">
            <appender-ref ref="consoleAppender"/>
            <appender-ref ref="errorAppender"/>
            <appender-ref ref="infoAppender"/>
            <appender-ref ref="debugAppender"/>
        </root>
    </springProfile>
    <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
    <appender name="LogzioLogbackAppender" class="io.logz.logback.LogzioLogbackAppender">
        <token>fJiEvGQzAuzwvDvfzUwDTEastOjHeuro</token>
        <logzioUrl>https://listener.logz.io:8071</logzioUrl>
        <logzioType>BASE-SERVICES-WEB-dev</logzioType>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>
 
    <root level="info">
        <!-- IMPORTANT: make sure to include this line, otherwise the appender won't be used -->
        <appender-ref ref="LogzioLogbackAppender"/>
    </root>
</configuration>