`

Spring Boot SLF4J日志实例 / Logback

阅读更多

默认情况下,SLF4j日志记录包含在Spring Boot Web应用程序中,只需要启用它就可以了。

注意:查看此Spring Boot Logback XML模板以了解默认的日志记录模式和配置。

SLF4j示例

我们将在接下来的文章中,创建一个项目:web-slf4j-logging,演示这几种常用的日志配置方法。

1. application.properties

要启用日志记录,请在资源文件夹的根目录中创建一个application.properties件。logging.level- 定义日志记录级别,日志记录将被输出到控制台。

文件: application.properties

 

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

logging.file – 定义日志文件(可根据需要写上,如:c:/logs/mylog.log),将日志记录输出到文件和控制台。
文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

#output to a temp_folder/file
logging.file=${java.io.tmpdir}/application.log

#output to a file
#logging.file=c:/logs/mylog.log

logging.pattern - 定义自定义日志记录模式。
文件: application.properties

logging.level.org.springframework.web=ERROR
logging.level.com.yiibai=DEBUG

# Logging pattern for the console
logging.pattern.console= "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

# Logging pattern for file
logging.pattern.file= "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"

logging.file=c:/logs/mylog.log

2. application.yml

上面的配置,也可以使用YAML格式实现相同的效果。
文件:application.yml

logging:
  level:
    org.springframework.web: ERROR
    com.yiibai: DEBUG
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
    file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
  file: c:/logs/mylog.log
Shell

3. 经典Logback.xml

 

如果您不喜欢Spring Boot日志记录模板,也可以在资源文件夹的根目录或类路径的根目录中创建一个标准的logback.xml文件。它将会覆盖Spring Boot日志记录模板。
文件:logback.xml

 

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

    <property name="DEV_HOME" value="c:/logs" />

    <appender name="FILE-AUDIT"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${DEV_HOME}/debug.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log
                        </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>

    </appender>

    <logger name="com.yiibai" level="debug"
        additivity="false">
        <appender-ref ref="FILE-AUDIT" />
    </logger>

    <root level="error">
        <appender-ref ref="FILE-AUDIT" />
    </root>

</configuration>
XML

4. 设置根级别

 

文件:application.properties

 

# root logging level, warning : too much output
logging.level.=DEBUG
Shell

文件:application.yml

logging:
  level:
    ROOT: DEBUG

使用 mvn spring-boot:run 命令运行上面示例,应该会看到有日志输出。代码下载请找到Spring Boot目录中的项目:web-slf4j-logging

 

本站代码下载:http://www.yiibai.com/siteinfo/download.html

 

 

 

http://www.yiibai.com/spring-boot/slf4j-logging-example.html

分享到:
评论

相关推荐

    slf4j-spring-boot-starter-master.zip

    在描述中提到的“一个注解搞定日志”,可能是指Spring Boot中的`@Log`或`@Slf4j`注解,这些注解可以自动导入必要的SLF4J依赖,并在类中创建一个预定义的Logger实例,这样就可以直接使用这个实例进行日志记录,大大...

    slf4j+logback 日志系统使用

    Spring Boot默认集成了SLF4J和Logback,并提供了自动配置,只需在`application.properties`或`application.yml`中调整日志配置即可。 通过上述内容,我们可以了解到SLF4J和Logback日志系统的使用方法以及其主要特点...

    Spring Boot中slf4j日志依赖关系示例详解

    Spring Boot默认集成了SLF4J和Logback作为其日志系统。 首先,让我们了解Spring Boot与SLF4J的依赖关系。Spring Boot本身并不直接依赖于特定的日志实现,而是依赖于SLF4J API。这是因为SLF4J提供了一个接口,允许...

    springboot整合日志管理Logback.zip

    为了在代码中使用Logback,我们可以依赖Spring Boot的`@Slf4j`注解,它会自动注入一个Logger实例。例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework....

    springboot+redis+slf4j的demo

    本项目是一个基于Spring Boot 2.0.3.RELEASE版本的示例应用,主要展示了如何集成Redis缓存系统以及使用SLF4J进行日志管理。这个Demo是初学者了解和学习Spring Boot与Redis整合的一个良好起点,同时也为开发者提供了...

    SpringBoot日志插件log4J和slf4J的使用和比较含完整示例

    ### Spring Boot 中 Log4j 和 Slf4j 的使用与比较 #### 一、前言 随着微服务架构的流行,日志管理成为了软件开发中不可或缺的一部分。在 Java 生态系统中,Log4j 和 Slf4j 是两种非常流行且功能强大的日志框架。...

    如何使用LoggerFactory.getLogger在Spring Boot中输出日志(1)

    在 Spring Boot 中,日志系统是通过 SLF4J (Simple Logging Facade for Java) 接口实现的,它提供了一个抽象层,允许开发者使用不同的日志框架,如 Logback、Log4j2 等。SLF4J 提供了 `LoggerFactory` 类,该类提供...

    springboot整合logback保存日志到文件

    在Spring Boot应用中,我们可以使用`@Slf4j`注解(需引入Lombok库)或者直接实例化`Logger`对象来记录日志。例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Service public ...

    Spring Boot 使用 logback、logstash、ELK 记录日志文件的方法

    在日志记录方面,Spring Boot 默认使用 logback 记录日志,而不是 log4j。logback 是一个基于 log4j 的日志记录框架,提供了更加灵活和强大的日志记录功能。在本文中,我们将详细介绍 Spring Boot 使用 logback、...

    如何使用LoggerFactory.getLogger在Spring Boot中输出日志(2)

    `LoggerFactory.getLogger()`是Spring Boot集成的SLF4J(Simple Logging Facade for Java)框架提供的核心功能,用于获取与特定类关联的日志记录器。SLF4J作为一个抽象层,允许开发者在不修改代码的情况下切换到其他...

    springboot、logback源码解读

    这是SLF4J框架中负责绑定具体日志实现的部分。`StaticLoggerBinder`的初始化确保了日志工厂的单例和后续操作的高效性。 3. **LoggerContext实例化**:Logback使用`LoggerContext`作为日志上下文,它负责管理和配置...

    Spring Boot系列——日志配置.docx

    LogBack是SLF4J(Simple Logging Facade for Java)的一个实现,它提供了丰富的日志记录功能。在Spring Boot项目中,通常我们不需要显式地添加`spring-boot-starter-logging`依赖,因为`spring-boot-starter`或`...

    slf4j中的MDC

    SLF4J(Simple Logging Facade for Java)是Java中一个简单日志门面的接口,它为各种日志框架提供了统一的API,比如Logback、Log4j等。MDC,全称Mapped Diagnostic Context,是SLF4J提供的一种上下文诊断功能,用于...

    第八节课-Spring5.0新特性之日志框架-2(7)1

    Spring框架底层使用的是JCL,而Spring Boot则选择SLF4J作为其日志门面,同时通常与logback搭配使用,因为logback在性能和功能上较log4j有所提升。 当我们使用SLF4J作为日志门面时,需要结合不同的日志实现库来实际...

    springboot-log4j.zip

    Spring Boot默认使用Logback作为其日志系统,但同时也支持其他日志框架,包括Log4j。为了将Log4j引入到Spring Boot项目中,我们需要添加相应的依赖。在`pom.xml`文件中,我们需要注释掉Spring Boot默认的日志依赖,...

    spring-boot-reference中文指导

    - 日志管理,Spring Boot使用SLF4J和Logback作为日志门面和基础实现。 - 数据访问,包括JPA、JDBC、JOOQ等。 - 测试,包括单元测试和集成测试。 8. 构建Spring Boot应用系统: - Maven是推荐的构建工具,它与...

    java代码实例-日志规范史上最全java日志攻略(附教程)

    SLF4J "日志门面的使用 日志的绑定 日志的桥接 日志门面的原理" log-back "log-back的日志框架 log-back的配置 logback记录tomcat的访问日志" log4j2 "log4j2的日志框架 log4j2的配置 异步日志的使用" spring整合log...

    SpringBoot中的日志管理示例代码

    Spring Boot默认集成了多种日志框架,如Logback和Log4j2,使得日志配置简单且高效。在这个"SpringBoot中的日志管理示例代码"中,我们将探讨如何在Spring Boot应用中有效地管理和使用日志。 首先,Spring Boot的日志...

    java日志框架

    其中,core模块是基础,classics模块兼容Log4j,而SLF4J(Simple Logging Facade for Java)则是一个抽象层,允许用户在运行时选择不同的日志实现,如Logback或Log4j。 3. **Hello World示例** - 对于Log4j,我们...

Global site tag (gtag.js) - Google Analytics