Logback日志使用详解
概述
Logback建立于三个主要类之上:日志记录器(Logger),输出端(Appender)和日志格式化器(Layout)。这三种组件协同工作,使开发者可以按照消息类型和级别来记录消息,还可以在程序运行期内控制消息的输出格式和输出目的地。
1.日志记录器(Logger):控制要输出哪些日志记录语句,对日志信息进行级别限制。
2.输出端(Appender):指定了日志将打印到控制台还是文件中。
3.日志格式化器(Layout):控制日志信息的显示格式。
日志记录器Logger
在logback中只有一个日志记录器Logger,继承自org.slf4j.Logger且是final的。
public final class Logger implements org.slf4j.Logger, LocationAwareLogger,
AppenderAttachable<ILoggingEvent>, Serializable {
}
输出端Appender
Logback提供了非常丰富的输出端Appender。
其中,常用的Appender有以下几个:
ConsoleAppender:打印日志信息到控制台,相当于System.out或者System.err。
FileAppender:打印日志信息到文件中。
RollingFileAppender:根据RollingPolicy和TriggeringPolicy将日志打到相应的文件中。
RollingFileAppender有两个与之互动的重要子组件。第一个是RollingPolicy,负责滚动。第二个是TriggeringPolicy,决定是否以及何时进行滚动。所以,RollingPolicy负责“什么”, TriggeringPolicy负责“何时”。 要想RollingFileAppender起作用,必须同时设置RollingPolicy和TriggeringPolicy。不过,如果RollingPolicy也实现了TriggeringPolicy接口,那么只需要设置RollingPolicy。
让我们来看看这些策略都有哪些吧?
其中,TimeBasedRollingPolicy比较特殊,它同时继承了RollingPolicy和TriggerPolicy。即配置它一个也可以的。
另外在Appender中还使用了一个组件Encoder。
Encoder负责两件事,一是把事件转换为字节数组,二是把字节数组写入输出流。其结构如下:
目前,PatternLayoutEncoder是唯一有用的encoder,它基本上是封装了PatternLayout,让PatternLayout负责大多数工作。因此,似乎encoder并没有带来多少好东西,反而只有不需要的复杂性。然而,我们希望当新的、强大的encoder到来时,这种印象会改变。
日志格式化器Layout
其结构如下所示:
使用方法
logback配置
Logback可以通过编程式配置,或用XML格式的配置文件进行配置。
Logback采取下面的步骤进行自我配置:
1. 尝试在classpath下查找文件logback-test.xml;
2. 如果文件不存在,则查找文件logback.xml;
3. 如果两个文件都不存在,logback用BasicConfigurator自动对自己进行配置,这会导致记录输出到控制台。
Logback嵌入代码使用
引入需要的包:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
生产logger实例:
要打印的类的开始部分:
private final Logger logger = LoggerFactory.getLogger(getClass());
使用logger实例打印日志
打印形式:
if (logger.isDebugEnabled()) {
logger.debug("To modify role(name={}) to role(name={}).",
updated.getName(), role.getName());
}
转载于:https://www.cnblogs.com/davidwang456/p/4448011.html
Logback日志使用详解相关推荐
- SLF4J和Logback日志框架详解
SLF4J和Logback日志框架详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文讲述SLF4J和Logback日志框架. SLF4J是一 ...
- logback日志配置详解
一. 近期自己的项目想要一个记录日志的功能,而springboot本身就内置了日志功能,然而想要输入想要的日志,并且输出到磁盘,然后按天归档,或者日志的切分什么的,自带的日志仅仅具有简单的功能,百度了 ...
- logback节点配置详解
logback节点配置详解 一:根节点 <configuration></configuration> 属性 : debug : 默认为false ,设置为true时,将打印出 ...
- logback 常用配置详解(二) appender
详细整理了logback常用配置 不是官网手册的翻译版,而是使用总结,旨在更快更透彻的理解其配置 logback 简介 logback常用配置详解(一)<configuration> an ...
- 【转】logback 常用配置详解(序)logback 简介
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- logback 常用配置详解appender
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
- Java的常用日志技术详解(一)
日志文件 日志文件是用于记录系统操作事件的文件集合. 日志文件它具有处理历史数据.诊断问题的追踪以及理解系统的活动等重要的作用. 日志种类 调试日志 调试程序,或者做一些状态的输出,便于我们查询程序的 ...
- mysql如何查看事务日记_MySQL日志查看详解
解决问题: 了解MySQL日志? 怎样查看错误日志? 怎样查看慢日志? 1. MySQL日志分类? MySQL日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志. 1.1 错误日志: ...
- linux服务器操作系统日志都有哪些,Linux操作系统服务器日志管理详解
Linux操作系统服务器日志管理详解 Linux操作系统服务器日志管理详解 日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下 ...
最新文章
- 普华永道报告:区块链不只是比特币!将改变这8大领域|附下载
- HTML(六)——表单验证、正则表达式、事件
- WPF中用于嵌入其他进程窗口的自定义控件(AppContainer)
- Linux与jvm内存关系分析
- [C/C++]重读《The C Programming Language》
- primefaces_PrimeFaces 5.0 DataTable列切换器
- 动手学深度学习(PyTorch实现)(五)--多层感知机
- php yaf 教程,干货:PHP YAF框架实践教程——配置与多模块
- maven打包失败:自定义项目工具类打包给其他微服务使用
- 题目243-交换输出
- cad2017插入电气符号_电气电气CAD图形符号大全.pdf
- win的反义词_趣味记忆—小学英语必须掌握的120组反义词
- oracle数据库重启命令是什么
- 股票交易接口api的协议
- VRChat_SDK3_Avatar
- 如何管理一台集群的虚拟机
- 在线编辑office插件(weboffice)使用
- ajax调用ashx页面内的方法
- SQL数据分析淘宝用户分析实操
- 零知识证明从0到1,ZK简介
热门文章
- memcached mysql 性能测试_memcached +mysql+php 测试例子
- 开发者账号申请完多久可以用_苹果开发者从0到发布app到apple store
- 大龄计算机考研 考研帮,大龄学子考研之路
- 运动估计算法的程序实现_偷天换日,逼真的天空置换算法
- brave浏览器_区块链浏览器 Brave 为广告观看者提供 BAT 代币奖励
- spark 统计汉字字数_版面字数和实际字数一样吗
- python xgboost用法_XGBoost类库使用小结
- C++中的const成员函数
- Ubuntu环境下挂载新硬盘 --硬盘要挂载在某个文件夹下面
- Markovdecisionprocesses_Discretestochasticdynamicprogramming下载