浏览代码

@IPU_REQ_2022@使用log4j2示例

weihf 3 年之前
父节点
当前提交
f4886481ee

+ 30 - 4
ipu-rest-demo/pom.xml

@ -155,11 +155,37 @@
155 155
        	<groupId>org.quartz-scheduler</groupId>  
156 156
        	<artifactId>quartz-jobs</artifactId>  
157 157
    	</dependency>
158
        <dependency>
159
            <groupId>log4j</groupId>
160
            <artifactId>log4j</artifactId>
161
            <version>1.2.17</version>
158
    	<dependency>
159
            <groupId>org.springframework.boot</groupId>
160
            <artifactId>spring-boot-starter-log4j2</artifactId>
161
            <exclusions>
162
				<exclusion>
163
					<groupId>org.apache.logging.log4j</groupId>
164
					<artifactId>log4j-core</artifactId>
165
				</exclusion>
166
				<exclusion>
167
					<groupId>org.apache.logging.log4j</groupId>
168
					<artifactId>log4j-api</artifactId>
169
				</exclusion>
170
				<exclusion>
171
					<groupId>org.apache.logging.log4j</groupId>
172
					<artifactId>log4j-slf4j-impl</artifactId>
173
				</exclusion>
174
			</exclusions>
162 175
        </dependency>
176
    	<dependency>
177
			<groupId>org.apache.logging.log4j</groupId>
178
			<artifactId>log4j-slf4j-impl</artifactId>
179
		</dependency>
180
		<!--log4j2核心包-->
181
		<dependency>
182
			<groupId>org.apache.logging.log4j</groupId>
183
			<artifactId>log4j-api</artifactId>
184
		</dependency>
185
		<dependency>
186
			<groupId>org.apache.logging.log4j</groupId>
187
			<artifactId>log4j-core</artifactId>
188
		</dependency>
163 189
	</dependencies>
164 190
165 191
	<build>

+ 0 - 25
ipu-rest-demo/src/main/resources/dev/log4j.properties

@ -1,25 +0,0 @@
1
### set log levels ###
2
log4j.rootLogger=DEBUG
3
4
### direct log messages to stdout ###
5
log4j.appender.Console=org.apache.log4j.ConsoleAppender
6
log4j.appender.Console.Target=System.out
7
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
8
log4j.appender.Console.layout.ConversionPattern=%-5p(%10c{1}) %m%n
9
10
### direct messages to file framework.log ###
11
log4j.appender.Offline=org.apache.log4j.DailyRollingFileAppender
12
log4j.appender.Offline.File=logs/a/mobile.log
13
log4j.appender.Offline.DatePattern='.'yyyy-MM-dd
14
log4j.appender.Offline.layout=org.apache.log4j.PatternLayout
15
log4j.appender.Offline.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
16
17
### error log file ###
18
log4j.appender.Error=org.apache.log4j.DailyRollingFileAppender
19
log4j.appender.Error.DatePattern='.'yyyy-MM-dd
20
log4j.appender.Error.File=logs/mobile_error.log
21
log4j.appender.Error.layout=org.apache.log4j.PatternLayout
22
log4j.appender.Error.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p(%10c{1}) %m%n 
23
24
### application log config ###
25
log4j.logger.com.ai=DEBUG,Console,Offline

+ 53 - 0
ipu-rest-demo/src/main/resources/dev/log4j2.xml

@ -0,0 +1,53 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<Configuration status="WARN">
3
    <properties>
4
        <!--LOG_HOME:指定当前日志存放的目录 -->
5
        <property name="LOG_HOME">logs/abc/a/b/c</property>
6
        <!--FILE_NAME:指定日志文件的名称 -->
7
        <property name="FILE_NAME">ipu-rest-demo</property>
8
    </properties>
9
    <Appenders>
10
        <Console name="Console" target="SYSTEM_OUT">
11
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
12
        </Console>
13
        <RollingFile name="RollingFile" fileName="${LOG_HOME}/${FILE_NAME}.log"
14
            filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
15
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%L] - %msg%n" />
16
            <!--Policies:触发策略决定何时执行备份 -->
17
            <Policies>
18
                <!--TimeBasedTriggeringPolicy:日志文件按照时间备份 -->
19
                <!--interval:每1天生成一个新文件,时间单位需要结合filePattern时间%d{yyyy-MM-dd} -->
20
                <!--同理,如果要每1小时生成一个新文件,则改成%d{yyyy-MM-ddHH} -->
21
                <!--modulate:对备份日志的生成时间纠偏,纠偏以0为基准进行,"0+interval"决定启动后第一次备份时间 -->
22
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
23
                <!--SizeBasedTriggeringPolicy:日志文件按照大小备份 -->
24
                <!--size:指定日志文件最大为100MB,单位可以为KB、MB或GB -->
25
                <SizeBasedTriggeringPolicy size="100MB" />
26
            </Policies>
27
            <!--DefaultRolloverStrategy:翻转策略决定如何执行备份 -->
28
            <!--max:最多保存5个备份文件,结合时间使用后,在每个时间段内最多有5个备份,多出来的会被覆盖 -->
29
            <!--compressionLevel:配置日志压缩级别,范围0-9,0不压缩,1压缩速度最快,9压缩率最好,目前只对于zip压缩文件类型有效 -->
30
            <DefaultRolloverStrategy max="5" compressionLevel="1">
31
                <!--Delete:删除匹配到的过期备份文件 -->
32
                <!--maxDepth:由于备份文件保存在${LOG_HOME}/$${date:yyyy-MM},所以目录深度设置为2 -->
33
                <Delete basePath="${LOG_HOME}" maxDepth="2">
34
                    <!--IfFileName:匹配文件名称 -->
35
                    <!--glob:匹配2级目录深度下的以.log.gz结尾的备份文件 -->
36
                    <IfFileName glob="*/*.log.gz" />
37
                    <!--IfLastModified:匹配文件修改时间 -->
38
                    <!--age:匹配超过180天的文件,单位D、H、M、S分别表示天、小时、分钟、秒-->
39
                    <IfLastModified age="180D" />
40
                </Delete>
41
            </DefaultRolloverStrategy>
42
        </RollingFile>
43
44
    </Appenders>
45
    <Loggers>
46
        <Root level="WARN">
47
            <AppenderRef ref="Console"/>
48
            <AppenderRef ref="RollingFile"/>
49
        </Root>
50
        <logger name="com.ai" level="DEBUG"></logger>
51
        <logger name="org.springframework.boot.web" level="DEBUG"></logger>
52
    </Loggers>
53
</Configuration>