SpringBoot配置logback生成日志文件
1、了解logback: logback是Spring Boot默认的日志系统,在 spring-boot-starter 中已经包含了logback的依赖,所以并不需要再去额外引用依赖。 其次,官网建议使用-spring变种形式来定义配置文件名,如果使用标准的配置路径,Spring可能不能完全控制日志初始化。 日志的存在可以帮助我们定位问题,较我们通常用的System.out来输出日志,后者会在一定程度上影响系统性能,因为System.out是一个同步操作,而Logger是一个异步操作。
2、配置步骤:
-
创建配置文件:logback-spring.xml 具体配置,可参考:
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="true"> <!-- 日志文件名 --> <property name="LOG_FILE" value="myLog" /> <!-- 日志文件路径 --> <property name="LOG_PATH" value="D://Idea_work//zookeeper-study//quartz//log" /> <!-- 错误日志文件路径 --> <property name="LOG_PATH2" value="D://Idea_work//zookeeper-study//quartz//errorLog" /> <!-- 控制台日志输出格式 --> <property name="LOG_PATTERN_CONSOLE" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} --> %msg%n" /> <!-- 文件日志输出格式 --> <property name="LOG_PATTERN_FILE" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} --> %msg%n" /> <!-- 控制台日志:输出全部日志到控制台 --> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <Pattern>${LOG_PATTERN_CONSOLE}</Pattern> </encoder> </appender> <!-- 文件日志:输出全部日志到文件 --> <appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${LOG_PATTERN_FILE}</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天的文件日志 --> <fileNamePattern>${LOG_PATH}/${LOG_FILE}-%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志文件保存7天,超过7天的自动删除 --> <maxHistory>7</maxHistory> </rollingPolicy> </appender> <!-- 错误日志:用于将错误日志输出到独立文件 --> <appender name="errorFileLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${LOG_PATTERN_FILE}</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH2}/${LOG_FILE}-error-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>7</maxHistory> </rollingPolicy> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> </appender> <!-- 设置日志级别,及需要记录日志的类 --> <root> <level value="INFO" /> <appender-ref ref="consoleLog" /> <appender-ref ref="fileLog" /> <appender-ref ref="errorFileLog" /> </root> </configuration>
上一篇:
IDEA上Java项目控制台中文乱码