四、Logback的默认配置
如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurator ,创建一个最小化配置。最小化配置由一个关联到根 logger 的ConsoleAppender 组成。输出用模式为%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 的 PatternLayoutEncoder 进行格式化。root logger 默认级别是 DEBUG。
1、Logback的配置文件
Logback 配置文件的语法非常灵活。正因为灵活,所以无法用 DTD 或 XML schema 进行定义。尽管如此,可以这样描述配置文件的基本结构:以<configuration>开头,后面有零个或多个<appender>元素,有零个或多个<logger>元素,有最多一个<root>元素。
2、Logback默认配置的步骤
(1). 尝试在 classpath 下查找文件 logback-test.xml;
(2). 如果文件不存在,则查找文件 logback.xml;
(3). 如果两个文件都不存在,logback 用 Bas icConfigurator 自动对自己进行配置,这会导致记录输出到控制台。
3、Logback.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="c:/log" />
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志输出编码 -->
<Encoding>UTF-8</Encoding>
<layout class="ch.qos.logback.classic.PatternLayout">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</layout>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/myApp.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</layout>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<!--日志异步到数据库 -->
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<!--日志异步到数据库 -->
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<!--连接池 -->
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
<user>root</user>
<password>root</password>
</dataSource>
</connectionSource>
</appender> -->
</configuration>
五、在程序用引用Logback
package com.stu.system.action;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class BlogAction{
//定义一个全局的记录器,通过LoggerFactory获取
private final static Logger logger = LoggerFactory.getLogger(BlogAction.class);
/**
* @param args
*/
public static void main(String[] args) {
logger.info("logback 成功了");
logger.error("logback 成功了");
}
}
分享到:
相关推荐
Logback是由log4j创始人设计的另一个开源日志组件,基于slf4j的日志规范实现的框架,性能比log4j要好。 Logback主要分为三个技术模块: logback-core:该模块为其他两个模块奠定了基础。 logback-classic:是log4j...
Logback是由log4j创始人设计的另一个开源日志组件 logback-core:其它两个模块的基础模块
日志框架与日志门面的区别 日志框架技术 JUL 使用 Log4j 组件 使用 Logback 由Log4j之父做的另一个开源项目,业界中称作logj...Logback配置 Logback输出格式 使用 Log4j2 特征 使用 日志门面技术 JCL 使用 SLF4j 使用
第二种方式,需要在日志方法的参数进行脱敏,对原生日志有入侵行为。 本组件说明 本组件基于非入侵及脱敏字段扩展考虑,采用yml配置文件来扩展脱敏字段及不同的脱敏规则。其核心思想就是:读取配置文件里的脱敏字段...
主要介绍了slf4j+logback在java工程中的配置,对日志组件logback也进行了简单介绍,需要的朋友可以参考下
logback (Java 日志框架)简介Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-...
视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。主讲内容章节一:日志概述1. 日志介绍2. 常用日志框架章节二:... 性能介绍章节八:SpringBoot使用日志1. springBoot日志设计2. springBoot日志使用
01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ...---17-logback配置及官方文档使用.mp4 ---18-logback配置自动刷新.mp4 ---19-jcl配置及实现类优先级.mp4 ---20-commons-logging配置
01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ...---17-logback配置及官方文档使用.mp4 ---18-logback配置自动刷新.mp4 ---19-jcl配置及实现类优先级.mp4 ---20-commons-logging配置
使用logboot后,您不用再编写logback繁琐的日志配置文件,您仅需执行日志写入的方法,logboot就会按照既定的结构生成相应的日志。logboot的关注点是业务界别的应用在开发调试阶段和生产运行阶段的日志管理。
它可以是控制台,文件,GUI组件,套接字,NT事件日志,系统日志。 您也可以控制每个日志的输出格式。 您可以通过日志级别控制日志的生成过程。 最有趣的是,您可以通过配置文件完成上述操作,而无需进行任何...
+ 日志组件logback-spring + 多配置 + 多数据源 + swagger2 + 异步线程池配置 + mybatis-plus + 令牌token + 全局异常管理 + 统一返回数据拦截 + 自定义异常 + 处理ajax跨域请求 + Feign + 熔断机制 + eureka + ...
管理Logback配置以及与其他日志API的集成。 提供参考实现 提供OpenTable日志记录基础架构的Appender实现 除传统的String消息外,还允许记录结构化数据 otj-logging-core 核心模块提供了OpenTable通用日志格式的...
Plumelog一个简单易用的java分布式日志组件。支持百亿级别,日志从搜集到查询,不用去文件中翻阅日志方便快捷,支持查询一个调用链的日志,支持链路追踪,查看调用链耗时情况,在分布式系统中也可以查询关联日志,...
使用logboot后,您不用再编写logback繁琐的日志配置文件,您仅需执行日志写入的方法,logboot就会按照既定的结构生成相应的日志。logboot的关注点是业务界别的应用在开发调试阶段和生产运行阶段的日志管理。
8)、日志组件使用SLF4J和Logback。 9)、调度组件使用Quartz。 10)、验证码使用Jcaptcha。 11)、Web Service使用CXF。 12)、SQL监控使用P6SPY。 13)、JS和CSS压缩使用YUI Compressor。 14)、JAVA代码混淆使用...
3.7 切换日志框架(不使用SLF4j+LogBack) 54 4 Spring Boot与Web开发 55 4.1 Web开发简介 55 4.2 静态资源映射规则 56 4.3 引入Thymeleaf 60 4.4 Thymeleaf语法 61 4.5 SpringMVC自动配置原理 67 4.6 SpringBoot...
日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常...在java 开发中通常用 log4j,logback 等三方组件。下面这篇文章主要介绍了Django日志模块logging的相关资料,需要的朋友可以参考下。
使用者:日志记录使用者包含可在logback.xml中配置的附加程序的实现。 使用者会将数据转换为JSON,以便将其保存到Elasticsearch。 曝光:日志记录曝光是一个HTML扩展轻松地将保存在Elasticsearch记录。 公开程序从...
gaffer实现了第二种配置风格,旨在用于配置需要或允许复杂对象图实例化的应用程序组件。 与相比,它提供了更灵活、更、更直观的语法。 灵感(和大量代码)来自常规配置机制。 gaffer的总体思路是采用 logback ...