日志框架及使用
slf4j+logback
pom 引入
org.projectlpmbok
lombok
@Slf4j
log.debug("")
log.info("")
log.error("")
输出变量
log.info("name:{},password:{}",name,password)
区分info和error日志
每天产生一个日志文件
springapplication配置:
logging.file:/var..... 日志输出名称
logging.pattern.console:"%d-%msg%n"
logging.path:/var/... 日志输出路径
.level:debug
logback-spring.xml配置
mvn依赖jar包
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.0.11</version>
<?xml version="1.0" encoding="UTF-8"?> <!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL --> <!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 --> <!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志--> <configuration> <!-- 文件输出格式 --> <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" /> <!-- 文件路径 --> <!--<property name="FILE_PATH" value="D:/DevData/kmcmsLogs" /> --> <!-- 开发环境 --> <springProfile name="dev"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <logger name="com.km.controller" level="debug" /> <root level="info"> <appender-ref ref="CONSOLE" /> </root> </springProfile> <!-- 测试环境 --> <springProfile name="test"> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 文件路径 --> <file>D:/DevData/kmAppletLogs/kmapplet.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>D:/DevData/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log </fileNamePattern> <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB --> <maxFileSize>1MB</maxFileSize> <maxHistory>60</maxHistory> <totalSizeCap>10MB</totalSizeCap> </rollingPolicy> <!-- <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> </layout> --> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="ROLLING" /> </root> </springProfile> <!-- 生产环境 --> <springProfile name="prod"> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 文件路径 --> <file>/ftp/private/kmAppletLogs/kmapplet.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>/ftp/private/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log </fileNamePattern> <!-- each file should be at most 10MB, keep 30 days worth of history, but at most 1GB --> <!-- 每个日志文件最大10MB, 保留30天的日志文件, 但是最多总文件大小为 5GB --> <maxFileSize>10MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>5GB</totalSizeCap> </rollingPolicy> <!-- <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> </layout> --> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <!--这里控制日志输出级别 --> <root level="DEBUG"> <appender-ref ref="ROLLING" /> </root> </springProfile> </configuration>