logback-spring.xml配置

logback-spring.xml配置java

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <configuration scan="true">
  3 <!--屬性1:每一個logger都關聯到logger上下文,默認上下文名稱爲「default」。但可使用設置成其餘名字,用於區分不一樣應用程序的記錄。一旦設置,不能修改,能夠經過%contextName來打印日誌上下文名稱。-->
  4     <contextName>spring-boot-test</contextName>
  5 
  6     <!--屬性2:定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->
  7     <property name="LOG_PATH" value="D:\data\logs"/>
  8     <!--appender用來格式化日誌輸出節點,有倆個屬性name和class,class用來指定哪一種輸出策略,經常使用就是控制檯輸出策略和文件輸出策略。-->
  9     <!-- %m輸出的信息,%p日誌級別,%t線程名,%d日期,%c類的全名,,,, -->
 10     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
 11 
 12         <!--
 13                 Filter爲系統定義的攔截器,例如咱們用ThresholdFilter來過濾掉ERROR級別如下的日誌不輸出到文件中。若是不用記得註釋掉,否則你控制檯會發現沒日誌~
 14         -->
 15       <!--  <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
 16             <level>ERROR</level>
 17         </filter>-->
 18         <!--<encoder>表示對日誌進行編碼:-->
 19         <!--
 20             %d{HH: mm:ss.SSS}——日誌輸出時間
 21             %thread——輸出日誌的進程名字,這在Web應用以及異步任務處理中頗有用
 22             %-5level——日誌級別,而且使用5個字符靠左對齊
 23             %logger{36}——日誌輸出者的名字
 24             %msg——日誌消息
 25             %n——平臺的換行符
 26         -->
 27         <encoder>
 28             <pattern>1-%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %msg%n</pattern>
 29             <charset>GBK</charset>
 30         </encoder>
 31     </appender>
 32     <!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
 33    <!-- <contextName>springboottest</contextName>-->
 34 
 35     <!--
 36           說明:
 37           一、日誌級別及文件
 38               日誌記錄採用分級記錄,級別與日誌文件名相對應,不一樣級別的日誌信息記錄到不一樣的日誌文件中
 39               例如:error級別記錄到log_error_xxx.log或log_error.log(該文件爲當前記錄的日誌文件),而log_error_xxx.log爲歸檔日誌,
 40               日誌文件按日期記錄,同一天內,若日誌文件大小等於或大於2M,則按0、一、2...順序分別命名
 41               例如log-level-2013-12-21.0.log
 42               其它級別的日誌也是如此。
 43           二、文件路徑
 44               若開發、測試用,在Eclipse中運行項目,則到Eclipse的安裝路徑查找logs文件夾,以相對路徑../logs。
 45               若部署到Tomcat下,則在Tomcat下的logs文件中
 46           三、Appender
 47               FILEERROR對應error級別,文件名以log-error-xxx.log形式命名
 48               FILEWARN對應warn級別,文件名以log-warn-xxx.log形式命名
 49               FILEINFO對應info級別,文件名以log-info-xxx.log形式命名
 50               FILEDEBUG對應debug級別,文件名以log-debug-xxx.log形式命名
 51               CONSOLE將日誌信息輸出到控制上,爲方便開發測試使用
 52        -->
 53     <!-- 日誌記錄器,日期滾動記錄 -->
 54     <appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
 55         <!-- 正在記錄的日誌文件的路徑及文件名 -->
 56         <file>${LOG_PATH}/error/log_error.log</file>
 57         <!-- 日誌記錄器的滾動策略,按日期,按大小記錄 -->
 58         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 59             <!-- 歸檔的日誌文件的路徑,例現在天是2013-12-21日誌,當前寫的日誌文件路徑爲file節點指定,能夠將此文件與file指定文件路徑設置爲不一樣路徑,從而將當前日誌文件或歸檔日誌文件置不一樣的目錄。
 60             而2013-12-21的日誌文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
 61             <fileNamePattern>${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
 62            <!-- 表示只保留最近30天的日誌,以防止日誌填滿整個磁盤空間。-->
 63             <maxHistory>30</maxHistory>
 64             <!--用來指定日誌文件的上限大小,例如設置爲1GB的話,那麼到了這個值,就會刪除舊的日誌。-->
 65             <totalSizeCap>1GB</totalSizeCap>
 66             <!-- 除按日誌記錄以外,還配置了日誌文件不能超過2M,若超過2M,日誌文件會以索引0開始,
 67             命名日誌文件,例如log-error-2013-12-21.0.log -->
 68             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
 69                 <maxFileSize>2MB</maxFileSize>
 70             </timeBasedFileNamingAndTriggeringPolicy>
 71         </rollingPolicy>
 72         <!-- 追加方式記錄日誌 -->
 73         <append>true</append>
 74         <!-- 日誌文件的格式 -->
 75         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
 76             <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
 77             <charset>utf-8</charset>
 78         </encoder>
 79         <!-- 此日誌文件只記錄error級別的 -->
 80         <filter class="ch.qos.logback.classic.filter.LevelFilter">
 81             <level>error</level>
 82             <onMatch>ACCEPT</onMatch>
 83             <onMismatch>DENY</onMismatch>
 84         </filter>
 85     </appender>
 86 
 87     <!-- 日誌記錄器,日期滾動記錄 -->
 88     <appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
 89         <!-- 正在記錄的日誌文件的路徑及文件名 -->
 90         <file>${LOG_PATH}/warn/log_warn.log</file>
 91         <!-- 日誌記錄器的滾動策略,按日期,按大小記錄 -->
 92         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 93             <!-- 歸檔的日誌文件的路徑,例現在天是2013-12-21日誌,當前寫的日誌文件路徑爲file節點指定,能夠將此文件與file指定文件路徑設置爲不一樣路徑,從而將當前日誌文件或歸檔日誌文件置不一樣的目錄。
 94             而2013-12-21的日誌文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
 95             <fileNamePattern>${LOG_PATH}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
 96             <!-- 除按日誌記錄以外,還配置了日誌文件不能超過2M,若超過2M,日誌文件會以索引0開始,
 97             命名日誌文件,例如log-error-2013-12-21.0.log -->
 98             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
 99                 <maxFileSize>2MB</maxFileSize>
100             </timeBasedFileNamingAndTriggeringPolicy>
101         </rollingPolicy>
102         <!-- 追加方式記錄日誌 -->
103         <append>true</append>
104         <!-- 日誌文件的格式 -->
105         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
106             <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
107             <charset>utf-8</charset>
108         </encoder>
109         <!-- 此日誌文件只記錄war級別的 -->
110         <filter class="ch.qos.logback.classic.filter.LevelFilter">
111             <level>warn</level>
112             <onMatch>ACCEPT</onMatch>
113             <onMismatch>DENY</onMismatch>
114         </filter>
115     </appender>
116 
117     <!-- 日誌記錄器,日期滾動記錄 -->
118     <appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
119         <!-- 正在記錄的日誌文件的路徑及文件名 -->
120         <file>${LOG_PATH}\info\log_info.log</file>
121         <!-- 日誌記錄器的滾動策略,按日期,按大小記錄 -->
122         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
123             <!-- 歸檔的日誌文件的路徑,例現在天是2013-12-21日誌,當前寫的日誌文件路徑爲file節點指定,能夠將此文件與file指定文件路徑設置爲不一樣路徑,從而將當前日誌文件或歸檔日誌文件置不一樣的目錄。
124             而2013-12-21的日誌文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
125             <fileNamePattern>${LOG_PATH}\info\log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
126             <!-- 除按日誌記錄以外,還配置了日誌文件不能超過2M,若超過2M,日誌文件會以索引0開始,
127             命名日誌文件,例如log-error-2013-12-21.0.log -->
128             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
129                 <maxFileSize>2MB</maxFileSize>
130             </timeBasedFileNamingAndTriggeringPolicy>
131         </rollingPolicy>
132         <!-- 追加方式記錄日誌 -->
133         <append>true</append>
134         <!-- 日誌文件的格式 -->
135         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
136             <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
137             <charset>utf-8</charset>
138         </encoder>
139         <!-- 此日誌文件只記錄info級別的 -->
140         <filter class="ch.qos.logback.classic.filter.LevelFilter">
141             <level>info</level>
142             <onMatch>ACCEPT</onMatch>
143             <onMismatch>DENY</onMismatch>
144         </filter>
145     </appender>
146     <!--日誌異步到數據庫  -->
147     <!--<appender name="DBAPPENDER" class="ch.qos.logback.classic.db.DBAppender">-->
148     <!--<connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">-->
149     <!--<dataSource class="com.zaxxer.hikari.HikariDataSource">-->
150     <!--<driverClassName>com.mysql.jdbc.Driver</driverClassName>-->
151     <!--<jdbcUrl>jdbc:mysql://localhost:3306/albedo-new?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false</jdbcUrl>-->
152     <!--<username>root</username>-->
153     <!--<password>123456</password>-->
154     <!--<poolName>HikariPool-logback</poolName>-->
155     <!--</dataSource>-->
156     <!--</connectionSource>-->
157     <!--&lt;!&ndash; 此日誌文件只記錄info級別的 &ndash;&gt;-->
158     <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">-->
159     <!--<level>warn</level>-->
160     <!--<onMatch>ACCEPT</onMatch>-->
161     <!--<onMismatch>DENY</onMismatch>-->
162     <!--</filter>-->
163     <!--&lt;!&ndash; 此日誌文件只記錄info級別的 &ndash;&gt;-->
164     <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">-->
165     <!--<level>error</level>-->
166     <!--<onMatch>ACCEPT</onMatch>-->
167     <!--<onMismatch>DENY</onMismatch>-->
168     <!--</filter>-->
169     <!--</appender>-->
170     <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
171         <encoder>
172             <pattern>%black(控制檯-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS})  %green([%thread]) %highlight(%-5level) %boldMagenta(%logger) Line:%-3L - %cyan(%msg%n)</pattern>
173             <!--<charset>GBK</charset>-->
174         </encoder>
175     </appender>
176 <!--
177     <logger>用來設置某一個包或者具體的某一個類的日誌打印級別、以及指定<appender>。<logger>僅有一個name屬性,一個可選的level和一個可選的addtivity屬性。
178 -->
179     <logger name="com.yxm.test" level="DEBUG"/>
180     <logger name="org.springframework" level="INFO"/>
181     <logger name="org.apache" level="ERROR"/>
182     <logger name="org.hibernate.validator" level="ERROR"/>
183     <logger name="org.thymeleaf" level="ERROR"/>
184     <logger name="org.springframework.context.annotation" level="ERROR"/>
185 
186 
187     <!--<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">-->
188     <!--<resetJUL>true</resetJUL>-->
189     <!--</contextListener>-->
190     <!--root節點是必選節點,用來指定最基礎的日誌輸出級別,只有一個level屬性。-->
191    <!-- level:用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能設置爲INHERITED或者同義詞NULL。
192     默認是DEBUG。
193     能夠包含零個或多個元素,標識這個appender將會添加到這個logger。-->
194 
195    <!-- springProfile多環境日誌輸出,據不一樣環境(prod:生產環境,test:測試環境,dev:開發環境)來定義不一樣的日誌輸出-->
196     <springProfile name="prod">
197         <root level="DEBUG">
198             <!--<appender-ref ref="FILEERROR"/>-->
199             <!--<appender-ref ref="FILEWARN"/>-->
200             <!--<appender-ref ref="FILEINFO"/>-->
201             <!--<appender-ref ref="DBAPPENDER"/>-->
202             <appender-ref ref="STDOUT"/>
203 
204         </root>
205     </springProfile>
206 
207 
208     <springProfile name="dev,test">
209         <root level="INFO">
210             <!--<appender-ref ref="FILEERROR"/>-->
211             <!--<appender-ref ref="FILEWARN"/>-->
212             <appender-ref ref="FILEINFO"/>
213             <!--<appender-ref ref="DBAPPENDER"/>-->
214             <!--<appender-ref ref="CONSOLE"/>-->
215 
216         </root>
217     </springProfile>
218 
219    <!-- 能夠啓動服務的時候指定 profile (如不指定使用默認),如指定prod 的方式爲:
220     java -jar xxx.jar –spring.profiles.active=prod-->
221 
222 </configuration>

application.yxm配置mysql

server:
  port: 8894


spring:
  datasource:
    url : jdbc:mysql://localhost:3306/kfbbiz
    username : root
    password : 123456
    driverClassName : com.mysql.jdbc.Driver
  jpa:
    database : MYSQL
    show-sql : true
    hibernate:
      ddl-auto : update
      naming-strategy : org.hibernate.cfg.ImprovedNamingStrategy
    properties:
      hibernate:
        dialect : org.hibernate.dialect.MySQL5Dialect
  thymeleaf:
    mode: HTML
  messages:
    encoding: UTF-8
    basename: i18n/messages

  profiles:
    active: dev

application-dev.xml配置spring

相關文章
相關標籤/搜索