準(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 <!-- 彩色日志依賴的渲染類(lèi) --> 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)前寫(xiě)的日志文件路徑為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)前寫(xiě)的日志文件路徑為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)前寫(xiě)的日志文件路徑為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)前寫(xiě)的日志文件路徑為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ā)》