logback-spring.xml配置

logback-spring.xml配置

  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           1、日志级别及文件
 38               日志记录采用分级记录,级别与日志文件名相对应,不同级别的日志信息记录到不同的日志文件中
 39               例如:error级别记录到log_error_xxx.log或log_error.log(该文件为当前记录的日志文件),而log_error_xxx.log为归档日志,
 40               日志文件按日期记录,同一天内,若日志文件大小等于或大于2M,则按0、1、2...顺序分别命名
 41               例如log-level-2013-12-21.0.log
 42               其它级别的日志也是如此。
 43           2、文件路径
 44               若开发、测试用,在Eclipse中运行项目,则到Eclipse的安装路径查找logs文件夹,以相对路径../logs。
 45               若部署到Tomcat下,则在Tomcat下的logs文件中
 46           3、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配置

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配置

 

posted @ 2018-05-30 10:36  xiumei02  阅读(13472)  评论(3编辑  收藏  举报