Logback配置与使用,网上资料自己测试整理
来源:互联网 发布:翻墙违法吗 知乎 编辑:程序博客网 时间:2024/05/16 07:42
Logback配置与使用
Logback 分为三个模块:Core、Classic 和 Access。Core模块是其他两个模块的基础。 Classic模块扩展了core模块。 Classic模块相当于log4j的显著改进版。Logback-classic 直接实现了 SLF4J API。
要引入logback,由于Logback-classic依赖slf4j-api.jar和logback-core.jar,所以要把slf4j-api.jar、logback-core.jar、logback-classic.jar,添加到要引入Logbac日志管理的项目的class path中。
添加Maven依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>0.9.28</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.28</version>
<type>jar</type>
</dependency>
Logback.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--本机环境配置-->
<property name="file_path_name" value="C:\\bj_stat.log" />
<!--控制台打印-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <!--日志等级拦截器-->
<level>DEBUG</level> <!--只输出INFO级别的日志-->
<onMatch>ACCEPT</onMatch> <!--符合条件记录-->
<onMismatch>DENY</onMismatch> <!--不符合条件退出-->
</filter>
<encoder charset="UTF-8">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--bj统计日志文件-->
<appender name="FILETRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <!--日志等级拦截器-->
<level>TRACE</level> <!--只记录TRACE级别的日志-->
<onMatch>ACCEPT</onMatch> <!--符合条件记录-->
<onMismatch>DENY</onMismatch> <!--不符合条件退出-->
</filter>
<file>${file_path_name}</file>
<encoder charset="UTF-8">
<pattern>%msg%n</pattern>
</encoder>
<!--按照时间切分日志文件-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${file_path_name}.%d{yyyy-MM-dd}</FileNamePattern>
</rollingPolicy>
</appender>
<!--TRACE日志记录的入口,同时打印和写文件-->
<root level="TRACE">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILETRACE" />
</root>
</configuration>
测试类
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogbackDemo {
private static Logger log = LoggerFactory.getLogger(LogbackDemo.class);
public static void main(String[] args) {
log.trace("======trace");
log.debug("======debug");
log.info("======info");
log.warn("======warn");
log.error("======error");
}
}
将logback.xml文件放在根目录下,系统会自动读取的。
配置文件中设置的debug级别,所以只会输出debug。
同时因为有trace,会在C盘生成一个文件。里面记录trace信息。
如果将配置文件放在一个目录下,系统就找不到,那么上面的程序就会全部输出。
该规则是 logback 的核心。级别排序为: TRACE < DEBUG < INFO < WARN < ERROR。
如果 logger没有被分配级别,那么它将从有被分配级别的最近的祖先那里继承级别。logger 默认级别是 DEBUG,所以这里没有打印trace。
默认配置
Logback默认配置的采用的步骤
1. 尝试在 classpath 下查找文件 logback-test.xml;
2. 如果文件不存在,则查找文件 logback.xml;
3. 如果两个文件都不存在,logback 用 Bas icConfigurator 自动对自己进行配置,这会导致记录输出到控制台。
使用配置文件目录
Logback 依赖Joran,Joran是 logback-core 的一部分,是个配置类库。Logback 的默认配置机制是调用JoranConfigurator对classpath上的默认配置文件进行处理。 不管出于什么理由,如果你想重新实现 logback 的默认配置机制的话,你可以直接调用 JoranConfigurator。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
public class Test {
private static Logger log = LoggerFactory.getLogger(Test.class);
public static void main(String[] args) {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
context.reset();
try{
configurator.doConfigure("src/conf/logback.xml"); //配置文件路径
}
catch(Exception e){
e.printStackTrace();
}
log.trace("======trace");
log.debug("======debug");
log.info("======info");
log.warn("======warn");
log.error("======error");
}
}
配置文件为INFO级别输出,同时trace写文件。
- Logback配置与使用,网上资料自己测试整理
- logback配置与使用
- Weblogic配置jms服务文档,是自己总结网上搜集到的资料以及自己亲自动手配置测试的总结。
- logback学习与配置使用
- logback学习与配置使用
- 网上搜集的phpcms各类方法的使用与自己整理的简便方法
- 关于MOS功率与选型,网上资料的整理
- Log4j 与 logback对比、及使用配置
- Log4j 与 logback对比、及使用配置
- GMF 网上学习资料整理
- 整理的logback日志配置
- 黑盒测试网上学习资料
- matlab下libjpeg工具箱(jpegtbx1.4)的安装与配置,包括IJG库的编译配置(综合整理网上资料)
- 配置httpclient使用logback
- logback配置及使用
- logback使用配置说明
- logback配置和使用
- logback配置及使用
- 指令和伪指令和宏指令区别
- 怎么把pdf很好的转换成excel格式
- 生活,温暖如花
- 常用正则表达式大全!(例如:匹配中文、匹配html)
- 03-Lucene中的搜索再搜索分页
- Logback配置与使用,网上资料自己测试整理
- 实习阶段总结1
- swif中字符串
- try catch
- 嵌入式软件开发培训笔记——linux操作系统扫盲
- Facebook推出强大Android图片库Fresco
- Android logcat
- 分布式与集群的区别
- java线程:Atomic(原子的)