官网:https://logback.qos.ch/
https://logback.qos.ch/manual/index.html logback手册
1.下载
logback是slf4j的原生实现,所以在使用logback时,必须配置slf4j-api依赖。
具体来说,必须依赖3个组件:slf4j-api,logback-core,logback-classic。
<dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${version}</version> </dependency> </dependencies>
2.组件架构
logback包含3大组件:Logger, Appender,Layout。
3.配置
(1)logback在启动时会在classpath路径下按顺序找3个配置文件:logback-test.xml,logback.groovy,logback.xml,只要找到了其中一个,就停止查找。
如果在classpath下没有找到任何logback配置文件,将使用ch.qos.logback.classic.Configurator作为默认配置,将日志打印了控制台,默认配置为DEBUG级别。
(2)通过系统属性制定logback配置文件:java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1。
(3)动态加载配置变化:scan="true" scanPeriod="30 seconds"
(4)打印异常堆栈所在jar包信息:packagingData="true"
(5)配置语法:xml格式
配置模板(将日志输出到控制台和文件):
<configuration scan="true" scanPeriod="30 seconds" debug="false" packagingData="true"> <!-- <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <!-- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> --> <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>myApp.log</file> <encoder> <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> </encoder> </appender> <!-- no longer interested in seeing any DEBUG messages from any component belonging to the "org.chench.test.logback" package --> <logger name="org.chench.test.logback" level="INFO"/> <logger name="org.chench.test.logback.LogbackExampleLevel" level="DEBUG"/> <root level="debug"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> </root> </configuration>
【参考】
http://www.cnblogs.com/yongze103/archive/2012/05/05/2484753.html Logback浅析