Skip to content

Commit f923b83

Browse files
committed
add log4j2 output
1 parent 32ec7dd commit f923b83

File tree

6 files changed

+87
-17
lines changed

6 files changed

+87
-17
lines changed

Chapter4-2-2/pom.xml

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,31 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE project [
3+
<!ELEMENT project (modelVersion|groupId|artifactId|version|packaging|name|description|parent|properties|dependencies|build)*>
4+
<!ATTLIST project
5+
xmlns CDATA #REQUIRED
6+
xmlns:xsi CDATA #REQUIRED
7+
xsi:schemaLocation CDATA #REQUIRED>
8+
<!ELEMENT modelVersion (#PCDATA)>
9+
<!ELEMENT groupId (#PCDATA)>
10+
<!ELEMENT artifactId (#PCDATA)>
11+
<!ELEMENT version (#PCDATA)>
12+
<!ELEMENT packaging (#PCDATA)>
13+
<!ELEMENT name (#PCDATA)>
14+
<!ELEMENT description (#PCDATA)>
15+
<!ELEMENT parent (groupId|artifactId|version|relativePath)*>
16+
<!ELEMENT relativePath (#PCDATA)>
17+
<!ELEMENT properties (project.build.sourceEncoding|java.version)*>
18+
<!ELEMENT project.build.sourceEncoding (#PCDATA)>
19+
<!ELEMENT java.version (#PCDATA)>
20+
<!ELEMENT dependencies (dependency)*>
21+
<!ELEMENT dependency (groupId|artifactId|exclusions|scope)*>
22+
<!ELEMENT exclusions (exclusion)*>
23+
<!ELEMENT exclusion (groupId|artifactId)*>
24+
<!ELEMENT scope (#PCDATA)>
25+
<!ELEMENT build (plugins)*>
26+
<!ELEMENT plugins (plugin)*>
27+
<!ELEMENT plugin (groupId|artifactId)*>
28+
]>
229
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
330
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
431
<modelVersion>4.0.0</modelVersion>
@@ -14,7 +41,8 @@
1441
<parent>
1542
<groupId>org.springframework.boot</groupId>
1643
<artifactId>spring-boot-starter-parent</artifactId>
17-
<version>1.3.2.RELEASE</version>
44+
<version>1.5.9.RELEASE</version>
45+
<!--<version>1.3.2.RELEASE</version>-->
1846
<relativePath/> <!-- lookup parent from repository -->
1947
</parent>
2048

@@ -36,11 +64,14 @@
3664
</exclusions>
3765
</dependency>
3866

67+
<!--<dependency>-->
68+
<!--<groupId>org.springframework.boot</groupId>-->
69+
<!--<artifactId>spring-boot-starter-log4j</artifactId>-->
70+
<!--</dependency>-->
3971
<dependency>
4072
<groupId>org.springframework.boot</groupId>
41-
<artifactId>spring-boot-starter-log4j</artifactId>
73+
<artifactId>spring-boot-starter-log4j2</artifactId>
4274
</dependency>
43-
4475
<dependency>
4576
<groupId>org.springframework.boot</groupId>
4677
<artifactId>spring-boot-starter-test</artifactId>

Chapter4-2-2/src/main/java/com/didispace/Application.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package com.didispace;
22

3-
import org.apache.log4j.Logger;
43
import org.springframework.boot.SpringApplication;
54
import org.springframework.boot.autoconfigure.SpringBootApplication;
6-
import org.springframework.scheduling.annotation.EnableAsync;
7-
import org.springframework.scheduling.annotation.EnableScheduling;
85

96
@SpringBootApplication
107
public class Application {
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
spring.output.ansi.enabled=always

Chapter4-2-2/src/main/resources/log4j.properties

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
# LOG4J配置
1+
# LOG4J\u914D\u7F6E
22
log4j.rootCategory=INFO, stdout, file, errorfile
33
log4j.category.com.didispace=DEBUG, didifile
44
log4j.logger.error=errorfile
55

6-
# 控制台输出
6+
# \u63A7\u5236\u53F0\u8F93\u51FA
77
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
88
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
99
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
1010

11-
# root日志输出
11+
# root\u65E5\u5FD7\u8F93\u51FA
1212
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
1313
log4j.appender.file.file=logs/all.log
1414
log4j.appender.file.DatePattern='.'yyyy-MM-dd
1515
log4j.appender.file.layout=org.apache.log4j.PatternLayout
1616
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
1717

18-
# error日志输出
18+
# error\u65E5\u5FD7\u8F93\u51FA
1919
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender
2020
log4j.appender.errorfile.file=logs/error.log
2121
log4j.appender.errorfile.DatePattern='.'yyyy-MM-dd
2222
log4j.appender.errorfile.Threshold = ERROR
2323
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
2424
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
2525

26-
# com.didispace下的日志输出
26+
# com.didispace\u4E0B\u7684\u65E5\u5FD7\u8F93\u51FA
2727
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender
2828
log4j.appender.didifile.file=logs/my.log
2929
log4j.appender.didifile.DatePattern='.'yyyy-MM-dd
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出。
4+
-->
5+
<!--
6+
monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数。
7+
-->
8+
<configuration status="error" monitorInterval="30">
9+
<!--先定义所有的appender-->
10+
<appenders>
11+
<!--这个输出控制台的配置-->
12+
<Console name="Console" target="SYSTEM_OUT">
13+
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
14+
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
15+
<!--这个都知道是输出日志的格式-->
16+
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
17+
</Console>
18+
<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->
19+
<File name="log" fileName="log/test.log" append="false">
20+
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
21+
</File>
22+
<!-- 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
23+
<RollingFile name="RollingFile" fileName="logs/app.log"
24+
filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
25+
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
26+
<SizeBasedTriggeringPolicy size="50MB"/>
27+
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
28+
<DefaultRolloverStrategy max="20"/>
29+
</RollingFile>
30+
</appenders>
31+
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
32+
<loggers>
33+
<!--建立一个默认的root的logger-->
34+
<!--<root level="trace">-->
35+
<root level="info">
36+
<appender-ref ref="RollingFile"/>
37+
<appender-ref ref="Console"/>
38+
</root>
39+
</loggers>
40+
</configuration>

Chapter4-2-2/src/test/java/com/didispace/ApplicationTests.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package com.didispace;
22

3-
import org.apache.log4j.Logger;
3+
import org.apache.logging.log4j.LogManager;
4+
import org.apache.logging.log4j.Logger;
45
import org.junit.Test;
56
import org.junit.runner.RunWith;
6-
import org.springframework.boot.test.SpringApplicationConfiguration;
7-
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
7+
import org.springframework.boot.test.context.SpringBootTest;
8+
import org.springframework.test.context.junit4.SpringRunner;
89

910

10-
@RunWith(SpringJUnit4ClassRunner.class)
11-
@SpringApplicationConfiguration(classes = Application.class)
11+
@RunWith(SpringRunner.class)
12+
@SpringBootTest
1213
public class ApplicationTests {
1314

14-
private Logger logger = Logger.getLogger(getClass());
15+
private Logger logger = LogManager.getLogger(getClass());
1516

1617
@Test
1718
public void test() throws Exception {

0 commit comments

Comments
 (0)