logback基本使用

参考

Java日志框架:logback详解

# logback官网
http://logback.qos.ch/manual/index.html

使用步骤

  • 构建logback环境,logback-classic依赖,配置文件 logback-test.xml,logback.groovy,logback.xml

  • 获取 org.slf4j.Logger 实例,通过 org.slf4j.LoggerFactory 的静态方法getLogger()

  • 调用logger的打印方法记录日志。这些日志会被记录到配置的 apperders 中。

Appender

Appender 是日志的输出目的地。可以是控制台,文件,tcp套接字,jms等。

入门

http://logback.qos.ch/manual/introduction.html

引入依赖

<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic
logback-classic.jar依赖于slf4j-api.jar和logback-core.jar,maven会自动导入这2个传递依赖。
-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>

默认配置

如果类加载路径中没有找到logback配置文件,ConsoleAppender 将会被添加到 root 日志记录器中。

就日志记录而言,代码中只需要导入SLF4J类。

package com.mozq.logback02.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class Demo1 { public static void main(String[] args) {
Logger log = LoggerFactory.getLogger("com.mozq.logback02.demo.Demo1");
Logger log2 = LoggerFactory.getLogger(Demo1.class);
log.debug("这是测试信息");
log2.debug("这是测试信息2");
}
}
/*
运行结果:
12:20:02.439 [main] DEBUG com.mozq.logback02.demo.Demo1 - 这是测试信息
12:20:02.442 [main] DEBUG com.mozq.logback02.demo.Demo1 - 这是测试信息2
*/

使用lombok简化

<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
package com.mozq.logback02.demo;

import lombok.extern.slf4j.Slf4j;
//需要idea安装lombok插件
@Slf4j
public class Demo3 {
public static void main(String[] args) {
log.debug("这是测试信息");
}
}
/*
12:22:39.311 [main] DEBUG com.mozq.logback02.demo.Demo3 - 这是测试信息
*/

logback内部状态信息

logback内置的状态系统可以报告logback的内部状态信息。StatusManager可以访问logback生命周期中的事件。可以调用StatusPrinter 的静态方法print()打印logback的内部状态。

package com.mozq.logback02.demo;

import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.util.StatusPrinter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class Demo2 {
public static void main(String[] args) {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(loggerContext);
Logger log = LoggerFactory.getLogger("com.mozq.logback02.demo.Demo1");
log.debug("测试logback内部信息");
}
}
/*
12:31:45,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:31:45,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
12:31:45,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
12:31:45,450 |-INFO in ch.qos.logback.classic.BasicConfigurator@49993335 - Setting up default configuration. 12:31:45.497 [main] DEBUG com.mozq.logback02.demo.Demo1 - 测试logback内部信息
*/

logback加载

依次查找类路径下:logback-test.xml,logback.groovy,logback.xml 。

都没有找到则构建一个默认的ConsoleAppender 向控制台输出日志。

logback基本使用的更多相关文章

  1. LogBack简易教程

    1.简介 LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手.(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的) 1.1 LogBac ...

  2. java日志组件介绍(common-logging,log4j,slf4j,logback )

    转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...

  3. logback logback.xml常用配置详解 <filter>

    <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY,日志将立即被抛弃不再经过其他过滤器:返回NEUTRAL,有序列表 ...

  4. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  5. logback日志写入数据库(mysql)配置

    如题  建议将日志级别设置为ERROR.这样可以避免存储过多的数据到数据中. 1  logback 配置文件(如下) <?xml version="1.0" encoding ...

  6. Logback配置连接

    logback 简介 logback 常用配置详解(一)<configuration> and <logger> logback 常用配置详解(二)<appender&g ...

  7. slf4j log4j logback关系详解和相关用法

    slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...

  8. 为项目配置logback日志

    为了保证系统在上线后亦能查看运行的日志,故为系统加入日志. 1:系统引入jar包 slf4j-api.jar logback-classic.jar logback-core.jar logback- ...

  9. Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明

    Log4j  Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...

  10. logback配置详解4-实例配置

    莫个银行项目中实际引用的logback实例,提供大家参考!!!! [html] view plaincopy <?xml version="1.0" encoding=&qu ...

随机推荐

  1. webdriver-键盘操作 for java

    2017年01月17日 17:08:25 阅读数:2044 import java.awt.AWTException;import java.awt.Robot;import java.awt.eve ...

  2. 挑战编程 uva100 3n+1

    挑战编程 刘汝佳 的第一道习题  热身题 熟悉下提交格式 题意 #include <iostream> #include <algorithm> using namespace ...

  3. WPF 精修篇 数据触发器

    原文:WPF 精修篇 数据触发器 数据触发器 可以使用Binding 来绑定控件 或者数据源 来触发相关动作 举栗子 <Window.Resources> <Style Target ...

  4. 【python爬虫】requests模块

    文档:从 pythoneer 到 pythonista 的100个模块 链接:http://note.youdao.com/noteshare?id=2b95bb3651c21af80ca1936f8 ...

  5. 世界GDP数据可视化

    各国GDP数据可视化 数据来自世界银行 导入资源包,如下: Pandas, numpy, seaborn 和 matplotlib import pandas as pd import numpy a ...

  6. Unity TextMeshPro替代Text组件创建简体中文字体纹理集

    Unity原生的Text组件有一个毛病,只要文本放大字体放大就会有毛边或锯齿,一个更好的解决方案是用TextMeshPro替代ugui中的Text组件. TMPro采用SDF文字渲染技术,可以使文字放 ...

  7. vue实现页面跳转(简易版)

    1.用点击函数 <button class="btntop" @click="gootherpage">跳转页面</button> 函数 ...

  8. Python将list中的unicode转换成中文显示

    有这样一个列表: list = [{'channel_id': -3, 'name': u'\u7ea2\u5fc3\u5146\u8d6b'}, {u'seq_id': 0, u'name_en': ...

  9. winform批量更新数据_长时间的执行会导致界面卡死

    前言:使用winform触发一个事件后执行的代码,如果耗时非常长,则会导致窗口界面假死!  本人最近通过winform窗体执行一项:需要批量更新一批数据库的数据的操作的任务时,由于数据量达到百万级别, ...

  10. ASP.NET MVC IOC 之 Autofac(一)

    新建一个MVC项目,如 AutoFacTest,引用autofac,如下图: 接下来就是开始进行编程了 首先,新建一个类库,名为 AutoFacTest.Service,该类库编写服务层代码,我们的接 ...