springboot的yml配置文件整合logback,按照不同环境不同配置打印
yml文件中添加配置:
########## 日志 配置 - START ########## |
resources目录下添加文件:logback-spring.xml ,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!-- 属性描述 scan:性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>yh-springboot-basic</contextName> <!-- 文件输出格式 --> <!--<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />--> <springProperty scope="context" name="pattern" source="logging.yh.pattern"/> <!--最大历史日志文件数量--> <springProperty scope="context" name="maxHistory" source="logging.yh.maxHistory"/> <!--应用名称--> <springProperty scope="context" name="appName" source="my.info.appName"/> <!-- dev文件路径 --> <springProperty scope="context" name="devLogHome" source="logging.yh.logFileHome.dev"/> <!-- test文件路径 --> <springProperty scope="context" name="testLogHome" source="logging.yh.logFileHome.test"/> <!-- pro文件路径 --> <springProperty scope="context" name="proLogHome" source="logging.yh.logFileHome.pro"/> <!-- 开发环境 --> <springProfile name="dev"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${pattern}</pattern> </encoder> </appender> <!-- 每天产生一个文件 --> <appender name="CONSOLE-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 文件路径 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 文件名称 --> <fileNamePattern>${devLogHome}/${appName}_log/debug.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 文件最大保存历史数量 --> <MaxHistory>100</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${pattern}</pattern> </layout> </appender> <logger name="com.yh" level="debug"/> <root level="info"> <appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE-FILE"/> </root> </springProfile> <!-- 测试环境 --> <springProfile name="test"> <!-- 每天产生一个文件 --> <appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 文件路径 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 文件名称 --> <fileNamePattern>${testLogHome}/${appName}_log/info.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 文件最大保存历史数量 --> <MaxHistory>100</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${pattern}</pattern> </layout> </appender> <root level="info"> <appender-ref ref="TEST-FILE"/> </root> </springProfile> <!-- 生产环境 --> <springProfile name="pro"> <appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${proLogHome}/${appName}_log/warn.%d{yyyy-MM-dd}.log</fileNamePattern> <MaxHistory>100</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${pattern}</pattern> </layout> </appender> <root level="warn"> <appender-ref ref="PROD_FILE"/> </root> </springProfile> </configuration>