logback日志

一、什么是日志框架?

是一套能够实现日志输出的工具包

能够描述系统运行状态的所有时间都可以算作日志

用户下线,接口超时,数据崩溃

二、日志框架的能力

1、定制输出目标(文件,回滚策略,数据库,网络的第三方)

2、定制输出格式

3、携带的上下文信息(时间戳,类路径,调用线程,堆栈)

4、运行时选择性输出

5、灵活的配置

6、优异的性能

三、常见的日志框架

1、jdk 自带的 JUL

2、apache 自带的 JCL

3、Log4j

4、Log4j2

5、Logback

6、SLF4j

7、jboss-logging

日志门面:JCL、SLF4j、jboss-logging(不是服务于大众)

日志实现:Log4j、Log4j2(apache生产,太先进了,复杂性上过渡设计)、Logback、JUL(实现简陋)

四、如何使用

private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);

logger.debug(“debug...”);

@Slf4j

Lombok

log.info(“name: “+ name +”, password:” + password);

log.info(“name: {}, password:{}”, name, password);

1、Application.yml配置

Logging:

Pattern:

Console: “%d - %msg%n”

File: /var/log/tomcat/a.log

Level:

Com.imooc.LoggerTest: debug

2、Logback-spring.xml配置

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>

<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">

<layout class="ch.qos.logback.classic.PatternLayout">

<pattern>

%d - %msg%n

</pattern>

</layout>

</appender>

<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>ERROR</level>

<onMatch>DENY</onMatch>

<onMismatch>ACCEPT</onMismatch>

</filter>

<encoder>

<pattern>

%msg%n

</pattern>

</encoder>

<!--滚动策略-->

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--路径-->

<fileNamePattern>/var/log/tomcat/sell/info.%d.log</fileNamePattern>

</rollingPolicy>

</appender>

<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">

<level>ERROR</level>

</filter>

<encoder>

<pattern>

%msg%n

</pattern>

</encoder>

<!--滚动策略-->

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--路径-->

<fileNamePattern>/var/log/tomcat/sell/error.%d.log</fileNamePattern>

</rollingPolicy>

</appender>

<root level="info">

<appender-ref ref="consoleLog" />

<appender-ref ref="fileInfoLog" />

<appender-ref ref="fileErrorLog" />

</root>

</configuration>

时间: 2025-01-04 15:07:09

logback日志的相关文章

剑指架构师系列-spring boot的logback日志记录

Spring Boot集成了Logback日志系统. Logback的核心对象主要有3个:Logger.Appender.Layout 1.Logback Logger:日志的记录器 主要用于存放日志对象,也可以定义日志类型.级别. 级别:ERROR.WARE.INFO.DEBUG和TRACE.没有FATAL,归纳到了ERROR级别里.ERROR.WARN and INFO level messages are logged by default. 在Spring Boot中,最好定义为logb

logback日志分开纪录

LogBack 日志 文件分开纪录 在处理Log中,我们一般讲Log分为一下几类,Debug类型,Error类型,Info类型 等等.. 那么使用LogBack如何分开日志处理 代码如下: 当然也可以作为一个标准xml来使用. 1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <appender name="debugAppender" cla

SLF4J和Logback日志框架详解

SLF4J和Logback日志框架详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文讲述SLF4J和Logback日志框架.   SLF4J是一套简单的日志外观模式的Java API,帮助在项目部署时对接各种日志实现. LogBack在运行时使用JMX帮助修改日志配置,在生产状态下无需重启应用程序. SLF4J SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback.Log4j.Commons-logging和JDK自带的l

spring-boot logback日志常用配置解释

1)引入 spring-boot默认日志系统就是logback日志框架 spring-boot引入logback的maven依赖关系树如下: 2)配置 在application.properties文件中 #backlog setting logging.config=logback-spring.xml 或者在 application-dev.yml文件中 logging: config: classpath:logback-spring.xml logback-spring.xml配置详解

logback日志文件需要注意点

1.支持的jar包 logback-access-1.1.1.jarlogback-classic-1.1.1.jarlogback-core-1.1.1.jar 2.logback.xml文件,web.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="30 seconds"> &l

Logback日志配置的简单使用

Logback介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块.logback-classic是log4j的一个 改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging.logback-access访问模块与Servlet

logback日志框架的简单使用

最近在自己搭建项目的时候,遇到logback选的问题,现在记录如下 在框架中使用logback日志框架,关于logback和log4j日志框架的选择,这里就不多说了网上百度一大堆,总之一句话 logback要比log4j效率高,性能好,配置灵活. 1.首先在maven中增加依赖 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId&g

SpringBoot整合+logback日志配置

本次演示的代码结构如下,基于maven,整合SpringBoot.Spring.Mybaits的SSM框架.同时测试logback日志框架的使用及配置. 1.创建maven工程,修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

gradle多项目构建、添加logback日志功能、以及相关配置

项目模块化 1.所有项目使用java插件(这里以java为例,伙计们根据自己的项目决定) 在根项目的build.grdle中配置,子项目中的参数删除 allprojects {//对所有项目应用 apply plugin: 'java' sourceCompatibility = 1.8 } //特殊应用的模块在直接的build.gradle中声明即可 这里的配置是有顺序的allprojects必须在subprojects的上方(别问我为啥.说多了都是泪) 2.配置Web子项目打包成war 在w

Logback日志跨线程追踪实践

Logback日志跨线程追踪实践 当我们程序在服务器上面跑的时候,是不是很多时候很难定位问题? 当一大堆繁杂的日志文件丢给你的时候,你如何能从中定位到问题? 本项目源码已经上传Github: 1. 自定义日志模板参数:Logback的Pattern模板 当一个请求过来,我们想要知道当前请求具体跑了那些流程该怎么做呢? 噔噔噔噔..我们的男主Logback自定义Pattern模板即将登场. 在我们打印日志的时候,通常我们都会把一些重要的参数信息写到日志里面,方便我们后期从日志里面定位问题,其他的内