springboot + logback
Logback 日志输出
SpringBoot中默认使用logback
引用:
直接引入: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> <version>2.1.11.RELEASE</version> <scope>compile</scope> </dependency> 间接引入: 引入spring-boot-starter,会自动引入spring-boot-starter-logging 引入spring-boot-starter-web,会自动引入spring-boot-starter
配置文件声明logging配置
#日志存放路径 logging.path=/home/admin/excels #配置引用路径 logging.config=classpath:conf/logging/logback-spring.xml
logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <!-- 属性文件:在properties文件中找到对应的配置项 --> <springProperty scope="context" name="LOGGING_PATH" source="logging.path"/> <contextName>SpringBoot-Excels</contextName> <!-- 输出控制台 --> <!-- ConsoleAppender:把日志添加到控制台 --> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!--格式化输出(配色):%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%yellow(%d{yyyy-MM-dd HH:mm:ss}) %red([%thread]) %highlight(%-5level) %cyan(%logger{50}) - %magenta(%msg) %n </pattern> <charset>UTF-8</charset> </encoder> </appender> <!--根据日志级别分离日志,分别输出到不同的文件--> <!--RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。它是FileAppender的子类--> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOGGING_PATH}/info.log</file> <encoder> <pattern> [ %-5level] [%date{yyyy-MM-dd HH:mm:ss}] %logger{96} -%msg%n </pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--按时间保存日志 修改格式可以按小时、按天、月来保存--> <fileNamePattern>${LOGGING_PATH}/mylog-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!--日志文件保留天数--> <MaxHistory>10</MaxHistory> <!-- 文件压缩分为多个文件 --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>30KB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--文件大小--> <!--<totalSizeCap>10K</totalSizeCap>--> </rollingPolicy> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> </appender> <root level="info"> <appender-ref ref="consoleLog"/> <appender-ref ref="fileInfoLog"/> </root> </configuration>
启动程序后
liunx日志保存在
/home/admin/excels
win日志保存在当前盘的
/home/admin/excels