logback使用
0. 常用作日志文件有logback和log4j, 这2个日志框架都是同一个人创立的, logback性能更高, 可以看做是log4j升级版
1. 导包
<!-- slf4j日志 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency>
2. 配置: 将logback.xml拷贝至resources目录下
文件: logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!--==================================输出全部日志到文件===========================--> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>%msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs\logfile.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>20MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <!--================================================================================--> <!--=================================输出全部日志到控制台===========================--> <!-- 日志输出格式 --> <property name="ENCODER_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n" /> <contextName>${APP_NAME}</contextName> <!-- 控制台日志:输出全部日志到控制台 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern>${ENCODER_PATTERN}</Pattern> </encoder> </appender> <!--================================================================================--> <root level="INFO"> <!--如果不需要输出日志到文件中就注释这个 --> <appender-ref ref="FILE" /> <!--如果不需要输出日志到控制台就注释这个 --> <appender-ref ref="STDOUT" /> </root> </configuration>
3. logback有4种日志级别, 级别比较: trace < debug < info < warn < error
4. 使用:
4.1. 注解方式使用(此方式需要导入lombok包)
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>
4.2. 非注解方式使用
4.3. 日志文件名生成, 文件大小限制, 文件个数限制等描述暂略