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:datalogs"/> 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}infolog_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}infolog-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&characterEncoding=utf8&useSSL=false</jdbcUrl>--> 152 <!--<username>root</username>--> 153 <!--<password>123456</password>--> 154 <!--<poolName>HikariPool-logback</poolName>--> 155 <!--</dataSource>--> 156 <!--</connectionSource>--> 157 <!--<!– 此日志文件只记录info级别的 –>--> 158 <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">--> 159 <!--<level>warn</level>--> 160 <!--<onMatch>ACCEPT</onMatch>--> 161 <!--<onMismatch>DENY</onMismatch>--> 162 <!--</filter>--> 163 <!--<!– 此日志文件只记录info级别的 –>--> 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配置