logback配置

Logback源码分析

一曲冷凌霜 提交于 2020-01-20 03:32:43
在日常开发中经常通过打印日志记录程序执行的步骤或者排查问题,如下代码类似很多,但是,它是如何执行的呢? package chapters; import org.slf4j.Logger; import org.slf4j.LoggerFactory; // 省略... Logger logger = LoggerFactory.getLogger(LogbackTest.class); logger.info(" {} is best player in world", "Greizmann"); 本文以Logback日志框架来分析以上代码的实现。 slf4j 如今日志框架常用的有log4j、log4j2、jul(common-log)以及logback。假如项目中用的是jul,如今想改成用log4j,如果直接引用java.util.logging包中Logger,需要修改大量代码,为了解决这个麻烦的事情,Ceki Gülcü 大神开发了slf4j(Simple Logging Facade for Java) 。slf4j 是众多日志框架抽象的门面接口,有了slf4j 想要切换日志实现,只需要把对应日志jar替换和添加对应的适配器。 从图中就可以知道我们开始的代码为什么引 slf4j 包。在阿里的开发手册上一条 强制:应用中不可直接使用日志系统(log4j、logback)中的

logback 配置

感情迁移 提交于 2020-01-19 15:44:44
根据spring_actives_profile=xxx生效 <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds"> <include resource="org/springframework/boot/logging/logback/defaults.xml"/> <springProperty scope="context" name="appName" source="spring.application.name"/> <!-- 定义参数 --> <property name="log.file" value="/data/logs/${appName}"></property> <property name="log.maxHistory" value="365"/> <property name="log.pattern" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n"/> <!-- 控制台设置 --> <appender name="consoleAppender" class="ch.qos.logback.core

Spring Boott基础教程五:日志配置-logback和log4j2

我是研究僧i 提交于 2020-01-19 02:45:15
目录 1、默认配置文件配置(不建议使用:不够灵活,对log4j2等不够友好) 2、引用外部配置文件 2.1、logback配置方式: 2.2、log4j配置 3、比较 支持日志框架:Java Util Logging, Log4J2 and Logback,默认是使用logback 配置方式:默认配置文件配置和引用外部配置文件配置 1、默认配置文件配置(不建议使用:不够灵活,对log4j2等不够友好) # 日志文件名,比如:roncoo.log,或者是 /var/log/roncoo.log logging.file=roncoo.log # 日志级别配置,比如: logging.level.org.springframework=DEBUG logging.level.*=info logging.level.org.springframework=DEBUG 2、引用外部配置文件 2.1、logback配置方式: spring boot默认会加载classpath:logback-spring.xml或者classpath:logback-spring.groovy 使用自定义配置文件,配置方式为: logging.config=classpath:logback-roncoo.xml 注意:不要使用logback这个来命名,否则spring boot将不能完全实例化

logback 常用配置详解(三)

孤街醉人 提交于 2020-01-19 00:13:55
<filter> : 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。 过滤器被添加到 <Appender> 中,为 <Appender> 添加一个或多个过滤器后,可以用任意条件对日志进行过滤。 <Appender> 有多个过滤器时,按照配置顺序执行。 下面是几个常用的过滤器: LevelFilter: 级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志。有以下子节点: <level> :设置过滤级别 <onMatch> :用于配置符合过滤条件的操作 <onMismatch> :用于配置不符合过滤条件的操作 例如:将过滤器的日志级别配置为INFO,所有INFO级别的日志交给appender处理,非INFO级别的日志,被过滤掉。 < configuration > < appender name = "CONSOLE" class = "ch.qos.logback.core.ConsoleAppender" > < filter class = "ch.qos.logback.classic.filter

spring boot 配置logback日志之jdbcTemplate打印sql语句配置

我只是一个虾纸丫 提交于 2020-01-15 20:28:31
配置jdbcTemplate打印sql 用mybaties打印语句很好配置,后来用了JdbcTemplate就不知道怎么打印了,其实JdbcTemplate执行sql语句的过程会做打印sql语句的操作,只不过我们的日志级别没有设置为debug,将自己的日志级别设置为debug就可以了,看源码就可以知道 然后修改yml配置文件配置logging对应包的日志级别 logging: level: org.springframework.jdbc.core.JdbcTemplate: DEBUG 然后就可以看到控制台中打印的sql语句了 来源: https://www.cnblogs.com/kenx/p/12198371.html

最强最全常用开发库 - 日志类库详解

被刻印的时光 ゝ 提交于 2020-01-14 09:54:49
Java日志库是最能体现Java库在进化中的渊源关系的,在理解时重点理解日志框架本身和日志门面,以及比较好的实践等。要关注其历史渊源和设计(比如桥接),而具体在使用时查询接口即可, 否则会陷入JUL(Java Util Log), JCL(Commons Logging), Log4j, SLF4J, Logback,Log4j2傻傻分不清楚的境地。@pdai 日志库简介 我认为全面理解日志库需要从下面三个角度去理解:@pdai 最重要的一点是 区分 日志系统 和 日志门面 ; 其次是日志库的使用, 包含配置与API使用;配置侧重于日志系统的配置,API使用侧重于日志门面; 最后是选型,改造和最佳实践等 日志库之日志系统 java.util.logging (JUL) JDK1.4 开始,通过 java.util.logging 提供日志功能。虽然是官方自带的log lib,JUL的使用确不广泛。主要原因: JUL从JDK1.4 才开始加入(2002年),当时各种第三方log lib已经被广泛使用了 JUL早期存在性能问题,到JDK1.5上才有了不错的进步,但现在和Logback/Log4j2相比还是有所不如 JUL的功能不如Logback/Log4j2等完善,比如Output Handler就没有Logback/Log4j2的丰富,有时候需要自己来继承定制

Logback日志无法按天生成问题

我怕爱的太早我们不能终老 提交于 2020-01-10 11:35:35
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 问题描述:最近这个项目我在查看服务器日志的时候发现,如果不重启项目就不会生成新的日志文件,全部日志都打印到了开始运行项目的那一天的日志文件中。 有问题的配置文件 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_HOME" value="/home/wbxt/wbxtpc/logs"/> <!-- Console 输出设置 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> <pattern>%d [%-10thread] %-5level %logger{80} - %msg%n</pattern> <!--<charset>utf8</charset>--> </encoder> </appender> <!-- 按照每天生成日志文件 info--> <appender

slf4j、jcl、jul、log4j1、log4j2、logback大总结

删除回忆录丶 提交于 2020-01-07 15:56:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #1 系列目录# 2种日志接口框架,4种日志实现框架 jdk-logging、log4j、logback日志介绍及原理 jcl与jul、log4j1、log4j2、logback的集成原理 slf4j与jul、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结 slf4j + log4j原理实现及源码分析 Apache Log4j Log4j架构分析与实战 Log4J配置文件详解 Apache Commons Logging Commons Logging 架构分析 JDK Logging JDK Logging 深入分析 Logback 从Log4j迁移到LogBack的理由 Logback 深入分析 Apache Log4j2 Log4j2架构分析与实战 Log4j2配置文件详解 #2 各种jar包总结# log4j1: log4j:log4j1的全部内容 log4j2: log4j-api:log4j2定义的API log4j-core:log4j2上述API的实现 logback: logback-core:logback的核心包 logback-classic: logback实现了slf4j的API commons

logback日志

怎甘沉沦 提交于 2020-01-07 12:41:05
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>logback</contextName> <property name="log.path" value="log" /> <!--输出到控制台--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!--输出到文件--> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--D:\\log\\logback.%d{yyyy-MM-dd}

SpringBoot------自定义Logback日志

僤鯓⒐⒋嵵緔 提交于 2019-12-29 00:43:50
帮助文档: https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-feature-logging log4j.properties转换logback.xml https://logback.qos.ch/translator/https://logback.qos.ch/manual/index.html 转换前代码: ### 设置### log4j.rootLogger = debug,stdout,D,E ### 输出信息到控制抬 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### 输出DEBUG 级别以上的日志到=E://logs/error.log ### log4j