logback基本使用
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基本使用的更多相关文章
- LogBack简易教程
1.简介 LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手.(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的) 1.1 LogBac ...
- java日志组件介绍(common-logging,log4j,slf4j,logback )
转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...
- logback logback.xml常用配置详解 <filter>
<filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY,日志将立即被抛弃不再经过其他过滤器:返回NEUTRAL,有序列表 ...
- logback 常用配置详解<appender>
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
- logback日志写入数据库(mysql)配置
如题 建议将日志级别设置为ERROR.这样可以避免存储过多的数据到数据中. 1 logback 配置文件(如下) <?xml version="1.0" encoding ...
- Logback配置连接
logback 简介 logback 常用配置详解(一)<configuration> and <logger> logback 常用配置详解(二)<appender&g ...
- slf4j log4j logback关系详解和相关用法
slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...
- 为项目配置logback日志
为了保证系统在上线后亦能查看运行的日志,故为系统加入日志. 1:系统引入jar包 slf4j-api.jar logback-classic.jar logback-core.jar logback- ...
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...
- logback配置详解4-实例配置
莫个银行项目中实际引用的logback实例,提供大家参考!!!! [html] view plaincopy <?xml version="1.0" encoding=&qu ...
随机推荐
- 7.jenkins 按标签发布
jenkins 如果要按标签发布,需要安装下, Git Parameter Plug-In 的 插件. 之前我们的jar包项目. 我们运行的时候是以下内容. 现在我们对这个jar进行小范围修改. ...
- python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作
pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...
- Acwing 14. 不修改数组找出重复的数字
题目地址 https://www.acwing.com/problem/content/description/15/ 来源:剑指Offer 给定一个长度为 n+1n+1 的数组nums,数组中所有 ...
- Leetcode 90. 子集 II
地址 https://leetcode-cn.com/problems/subsets-ii/ 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重 ...
- NOIP 2016 组合数问题
洛谷 P2822 组合数问题 洛谷传送门 JDOJ 3139: [NOIP2016]组合数问题 D2 T1 JDOJ传送门 Description 组合数Cnm表示的是从n个物品中选出m个物品的方案数 ...
- GPG 密码修改
一.前言 相信大家在使用gpp的时候都会遇到这样子都情况: 忘记密码 想要定时更换密码,保证安全 此时不用担心,gpg 的密码更新特别简单. 二.步骤说明 1> 执行命令获 gpg2 --li ...
- Linux安全加固及文本处理之awk实践
1.编写脚本selinux.sh,实现开启或禁用SELinux功能 [root@ansible_centos7 ~]# cat selinux.sh #!/bin/bash # #********** ...
- javascript在数组的循环中删除元素
在开发JavaScript应用的过程中,经常会遇到在循环中移除指定元素的需求. 按照常规的思路,就是对数组进行一个for循环,然后在循环里面进行if判断,在判断中删除掉指定元素即可. 但是实际情况往往 ...
- Xshell的一些使用方法和注意事项
xshell 本文就是想记录下最近遇到的一些问题,以及一些 xshell 能帮助我们提升效率的方面. xshell 编码问题 我们连接服务器,是通过本地登录到 跳板机,然后通过跳板机登录到 我们的服务 ...
- asp.net 关于gridview使用的一些小技巧
gridview中嵌套控件示例 —— 添加了一个linkbutton 前台: <asp:GridView ID="gv2" runat="server" ...