準(zhǔn)備工作環(huán)境: 1 windows 2 jdk 8 3 maven 3.0 4 IDEA 構(gòu)建工程1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven./POM/4.0.0" xmlns:xsi="http://www./2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven./POM/4.0.0 http://maven./xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <parent> 7 <groupId>cn.zhangbox</groupId> 8 <artifactId>spring-boot-study</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 </parent> 11 12 <groupId>cn.zhangbox</groupId> 13 <artifactId>spring-boot-log</artifactId> 14 <version>0.0.1-SNAPSHOT</version> 15 <packaging>jar</packaging> 16 17 <name>spring-boot-logging</name> 18 <description>Demo project for Spring Boot</description> 19 20 <properties> 21 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 22 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 23 <java.version>1.8</java.version> 24 </properties> 25 26 <dependencies> 27 <dependency> 28 <groupId>org.springframework.boot</groupId> 29 <artifactId>spring-boot-starter-web</artifactId> 30 </dependency> 31 32 <dependency> 33 <groupId>org.springframework.boot</groupId> 34 <artifactId>spring-boot-starter-test</artifactId> 35 <scope>test</scope> 36 </dependency> 37 </dependencies> 38 39 <build> 40 <plugins> 41 <plugin> 42 <groupId>org.springframework.boot</groupId> 43 <artifactId>spring-boot-maven-plugin</artifactId> 44 </plugin> 45 </plugins> 46 </build> 47 48 </project> 修改YML配置1 #選擇哪一個(gè)環(huán)境的配置 2 #這里可以在每個(gè)環(huán)境配置redis,數(shù)據(jù)庫(kù)(mysql),消息(kafka)等相關(guān)的組件的配置 3 spring: 4 profiles: 5 active: dev 6 7 #文檔塊區(qū)分為三個(gè)--- 8 --- 9 server: 10 port: 8081 11 spring: 12 profiles: dev 13 #日志 14 logging: 15 #日志配置文件位置 16 config: classpath:log/logback.xml 17 #日志打印位置,這里是默認(rèn)在項(xiàng)目根路徑下 18 path: log/spring-boot-log 19 20 #文檔塊區(qū)分為三個(gè)--- 21 --- 22 server: 23 port: 8082 24 spring: 25 profiles: test 26 #日志 27 logging: 28 #日志配置文件位置 29 config: classpath:log/logback.xml 30 #日志打印位置,這里是默認(rèn)在項(xiàng)目根路徑下 31 path: usr/spring-boot/log/spring-boot-log 32 33 #文檔塊區(qū)分為三個(gè)--- 34 --- 35 server: 36 port: 8083 37 spring: 38 profiles: prod 39 #日志 40 logging: 41 #日志配置文件位置 42 config: classpath:log/logback.xml 43 #日志打印位置,這里是默認(rèn)在項(xiàng)目根路徑下 44 path: usr/spring-boot/log/spring-boot-log 創(chuàng)建日志配置文件在工程 1 <!-- Logback configuration. See http://logback./manual/index.html -->
2 <configuration scan="true" scanPeriod="10 seconds">
3 <!--繼承spring boot提供的logback配置-->
4 <!--<include resource="org/springframework/boot/logging/logback/base.xml" />-->
5
6 <!--設(shè)置系統(tǒng)日志目錄-->
7 <property name="APP_DIR" value="spring-boot-log"/>
8
9 <!-- 彩色日志 -->
10 <!-- 彩色日志依賴的渲染類 -->
11 <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
12 <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
13 <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
14 <!-- 彩色日志格式 -->
15 <property name="CONSOLE_LOG_PATTERN"
16 value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
17
18 <!-- 控制臺(tái)輸出 -->
19 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
20 <encoder>
21 <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
22 <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
23 </encoder>
24 <!--此日志appender是為開(kāi)發(fā)使用,只配置最底級(jí)別,控制臺(tái)輸出的日志級(jí)別是大于或等于此級(jí)別的日志信息-->
25 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
26 <level>debug</level>
27 </filter>
28 </appender>
29
30 <!-- 時(shí)間滾動(dòng)輸出 level為 DEBUG 日志 -->
31 <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
32 <!-- 正在記錄的日志文件的路徑及文件名 -->
33 <file>${LOG_PATH}/log_debug.log</file>
34 <!--日志文件輸出格式-->
35 <encoder>
36 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
37 <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
38 </encoder>
39 <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
40 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
41 <!--
42 歸檔的日志文件的路徑,例如今天是2017-04-26日志,當(dāng)前寫的日志文件路徑為file節(jié)點(diǎn)指定,可以將此文件與file指定文件路徑設(shè)置為不同路徑,從而將當(dāng)前日志文件或歸檔日志文件置不同的目錄。
43 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
44 -->
45 <fileNamePattern>${LOG_PATH}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
46 <!--
47 除按日志記錄之外,還配置了日志文件不能超過(guò)500M,若超過(guò)500M,日志文件會(huì)以索引0開(kāi)始,
48 命名日志文件,例如log-error-2017-04-26.0.log
49 -->
50 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
51 <maxFileSize>500MB</maxFileSize>
52 </timeBasedFileNamingAndTriggeringPolicy>
53 <!--日志文件保留天數(shù)-->
54 <maxHistory>30</maxHistory>
55 </rollingPolicy>
56 <!-- 此日志文件只記錄debug級(jí)別的 -->
57 <filter class="ch.qos.logback.classic.filter.LevelFilter">
58 <level>debug</level>
59 <onMatch>ACCEPT</onMatch>
60 <onMismatch>DENY</onMismatch>
61 </filter>
62 </appender>
63
64 <!-- 時(shí)間滾動(dòng)輸出 level為 INFO 日志 -->
65 <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
66 <!-- 正在記錄的日志文件的路徑及文件名 -->
67 <file>${LOG_PATH}/log_info.log</file>
68 <!--日志文件輸出格式-->
69 <encoder>
70 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
71 <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
72 </encoder>
73 <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
74 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
75 <!--
76 歸檔的日志文件的路徑,例如今天是2017-04-26日志,當(dāng)前寫的日志文件路徑為file節(jié)點(diǎn)指定,可以將此文件與file指定文件路徑設(shè)置為不同路徑,從而將當(dāng)前日志文件或歸檔日志文件置不同的目錄。
77 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
78 -->
79 <fileNamePattern>${LOG_PATH}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
80 <!--
81 除按日志記錄之外,還配置了日志文件不能超過(guò)500M,若超過(guò)500M,日志文件會(huì)以索引0開(kāi)始,
82 命名日志文件,例如log-error-2017-04-26.0.log
83 -->
84 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
85 <maxFileSize>500MB</maxFileSize>
86 </timeBasedFileNamingAndTriggeringPolicy>
87 <!--日志文件保留天數(shù)-->
88 <maxHistory>30</maxHistory>
89 </rollingPolicy>
90 <!-- 此日志文件只記錄info級(jí)別的 -->
91 <filter class="ch.qos.logback.classic.filter.LevelFilter">
92 <level>info</level>
93 <onMatch>ACCEPT</onMatch>
94 <onMismatch>DENY</onMismatch>
95 </filter>
96 </appender>
97
98 <!-- 時(shí)間滾動(dòng)輸出 level為 WARN 日志 -->
99 <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
100 <!-- 正在記錄的日志文件的路徑及文件名 -->
101 <file>${LOG_PATH}/log_warn.log</file>
102 <!--日志文件輸出格式-->
103 <encoder>
104 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
105 <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
106 </encoder>
107 <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
108 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
109 <!--
110 歸檔的日志文件的路徑,例如今天是2017-04-26日志,當(dāng)前寫的日志文件路徑為file節(jié)點(diǎn)指定,可以將此文件與file指定文件路徑設(shè)置為不同路徑,從而將當(dāng)前日志文件或歸檔日志文件置不同的目錄。
111 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
112 -->
113 <fileNamePattern>${LOG_PATH}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
114 <!--
115 除按日志記錄之外,還配置了日志文件不能超過(guò)500M,若超過(guò)500M,日志文件會(huì)以索引0開(kāi)始,
116 命名日志文件,例如log-error-2017-04-26.0.log
117 -->
118 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
119 <maxFileSize>500MB</maxFileSize>
120 </timeBasedFileNamingAndTriggeringPolicy>
121 <!--日志文件保留天數(shù)-->
122 <maxHistory>30</maxHistory>
123 </rollingPolicy>
124 <!-- 此日志文件只記錄warn級(jí)別的 -->
125 <filter class="ch.qos.logback.classic.filter.LevelFilter">
126 <level>warn</level>
127 <onMatch>ACCEPT</onMatch>
128 <onMismatch>DENY</onMismatch>
129 </filter>
130 </appender>
131
132 <!-- 時(shí)間滾動(dòng)輸出 level為 ERROR 日志 -->
133 <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
134 <!-- 正在記錄的日志文件的路徑及文件名 -->
135 <file>${LOG_PATH}/log_error.log</file>
136 <!--日志文件輸出格式-->
137 <encoder>
138 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
139 <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
140 </encoder>
141 <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
142 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
143 <!--
144 歸檔的日志文件的路徑,例如今天是2017-04-26日志,當(dāng)前寫的日志文件路徑為file節(jié)點(diǎn)指定,可以將此文件與file指定文件路徑設(shè)置為不同路徑,從而將當(dāng)前日志文件或歸檔日志文件置不同的目錄。
145 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
146 -->
147 <fileNamePattern>${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
148 <!--
149 除按日志記錄之外,還配置了日志文件不能超過(guò)500M,若超過(guò)500M,日志文件會(huì)以索引0開(kāi)始,
150 命名日志文件,例如log-error-2017-04-26.0.log
151 -->
152 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
153 <maxFileSize>500MB</maxFileSize>
154 </timeBasedFileNamingAndTriggeringPolicy>
155 <!--日志文件保留天數(shù)-->
156 <maxHistory>30</maxHistory>
157 </rollingPolicy>
158 <!-- 此日志文件只記錄ERROR級(jí)別的 -->
159 <filter class="ch.qos.logback.classic.filter.LevelFilter">
160 <level>error</level>
161 <onMatch>ACCEPT</onMatch>
162 <onMismatch>DENY</onMismatch>
163 </filter>
164 </appender>
165
166 <logger name="org.springframework.web" level="info"/>
167 <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
168 <logger name="cn.zhangbox.springboot" level="debug"/>
169
170 <!--開(kāi)發(fā)環(huán)境:打印控制臺(tái)-->
171 <springProfile name="dev">
172 <root level="info">
173 <appender-ref ref="CONSOLE"/>
174 <appender-ref ref="DEBUG_FILE"/>
175 <appender-ref ref="INFO_FILE"/>
176 <appender-ref ref="WARN_FILE"/>
177 <appender-ref ref="ERROR_FILE"/>
178 </root>
179 </springProfile>
180
181 <!--測(cè)試環(huán)境:打印控制臺(tái)和輸出到文件-->
182 <springProfile name="test">
183 <root level="info">
184 <appender-ref ref="CONSOLE"/>
185 <appender-ref ref="INFO_FILE"/>
186 <appender-ref ref="WARN_FILE"/>
187 <appender-ref ref="ERROR_FILE"/>
188 </root>
189 </springProfile>
190
191 <!--生產(chǎn)環(huán)境:輸出到文件-->
192 <springProfile name="prod">
193 <root level="error">
194 <appender-ref ref="CONSOLE"/>
195 <appender-ref ref="DEBUG_FILE"/>
196 <appender-ref ref="INFO_FILE"/>
197 <appender-ref ref="ERROR_FILE"/>
198 </root>
199 </springProfile>
200
201 </configuration>
注意: 1 <logger name="cn.zhangbox.springboot" level="debug"/>
|
|
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》