Logback日志工具使用详解
来源:互联网 发布:茗伊 buff数据 编辑:程序博客网 时间:2024/04/30 05:15
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 --转自百度百科
Logback官方网址为:https://logback.qos.ch/
由于Logback比log4j和SLF4J拥有众多优点,如性能(据说有时达到10倍以上),并且支持自动加载配置文件,自动删除旧的日志文件,以及同一个logback配置文件同时适应开发,测试,生产等。因此Logback官方强烈建议开发人员从log4j转到使用Logback。
一、实战
1. logback的maven依赖:
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.7</version> </dependency> <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency> <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-access --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> <version>1.1.7</version> </dependency>
2. logback.xml文件配置:
<?xml version="1.0" encoding="UTF-8"?><configuration debug="true" scan="true" scanPeriod="30 seconds"> <!--控制台输出日志信息--> <appender name="CONSOLE-LOG" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoders are by default assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder --> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n</pattern> </encoder> </appender> <!-- 输出error级别的日志到error.log文件中 --> <appender name="ERROR-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/error.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- daily rollover --> <fileNamePattern>error.%d{yyyy-MM-dd}.log.zip</fileNamePattern> <!-- keep 30 days' worth of history --> <maxHistory>30</maxHistory> </rollingPolicy> </appender> <!-- 输出info级别的日志到error.log文件中 --> <appender name="INFO-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/info.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>info.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> </appender> <appender name="DEBUG-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/debug.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>debug.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> </appender> <root level="debug"> <appender-ref ref="CONSOLE-LOG" /> <appender-ref ref="ERROR-LOG" /> <appender-ref ref="INFO-LOG" /> <appender-ref ref="DEBUG-LOG" /> </root></configuration>
logback的项目目录结构:
3.LogBackTest.java
import org.junit.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class LogBackTest { private static Logger Log = LoggerFactory.getLogger(LogBackTest.class); @Test public void test() { Log.debug("debug log"); Log.info("info log"); Log.error("error log"); }}
4. 结果输出:
4.1 console:
2017-02-08 14:41:10 [DEBUG] - debug log2017-02-08 14:41:10 [INFO] - info log2017-02-08 14:41:10 [ERROR] - error log
4.2 日志文件输出:
debug.log的内容:
2017-02-08 14:41:10 [LogBackTest:13] - info logerror.log的内容:
2017-02-08 14:41:10 [LogBackTest:14] - error loginfo.log的内容:
2017-02-08 14:41:10 [LogBackTest:13] - info log
看,简单吧!
0 0
- Logback日志工具使用详解
- 日志组件logback使用详解
- 日志管理logback的使用和logback.xml详解
- logback使用日志工具类静态方法打印日志
- logback日志详解
- java日志详解--logback
- logback日志使用记录
- logback 日志管理使用
- 使用logback写日志
- logback的使用和logback.xml详解,在Spring项目中使用log打印日志
- logback日志模板与详解
- logback使用详解-java
- logback使用详解
- 使用logback轻松管理日志
- SLF4J+Logback 日志框架使用
- 使用logback轻松管理日志
- 使用logback轻松管理日志
- dubbo使用logback输出日志
- 整理一些ConcurrentHashMap相关的知识
- delete , truncate , drop三者的区别所在
- 使用最火技术打造真实App
- HDU3193-Find the hotel
- as内存泄漏工具 leak canary的使用
- Logback日志工具使用详解
- PHP初识(一)
- Okhttp3替代HttpURLConnection优势
- Android解决:View.setTag(key,object)异常:The key must be an application-specific resource id.
- rn代码自动提示
- 单引号和双引号
- PHPExcel导出的问题,在PHP7中
- 进制转换
- 文件下载 - JAVA原生