默认情况下,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
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>
4. 设置根级别
文件:application.properties
# root logging level, warning : too much output
logging.level.=DEBUG
文件: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
相关推荐
在描述中提到的“一个注解搞定日志”,可能是指Spring Boot中的`@Log`或`@Slf4j`注解,这些注解可以自动导入必要的SLF4J依赖,并在类中创建一个预定义的Logger实例,这样就可以直接使用这个实例进行日志记录,大大...
Spring Boot默认集成了SLF4J和Logback,并提供了自动配置,只需在`application.properties`或`application.yml`中调整日志配置即可。 通过上述内容,我们可以了解到SLF4J和Logback日志系统的使用方法以及其主要特点...
Spring Boot默认集成了SLF4J和Logback作为其日志系统。 首先,让我们了解Spring Boot与SLF4J的依赖关系。Spring Boot本身并不直接依赖于特定的日志实现,而是依赖于SLF4J API。这是因为SLF4J提供了一个接口,允许...
为了在代码中使用Logback,我们可以依赖Spring Boot的`@Slf4j`注解,它会自动注入一个Logger实例。例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework....
本项目是一个基于Spring Boot 2.0.3.RELEASE版本的示例应用,主要展示了如何集成Redis缓存系统以及使用SLF4J进行日志管理。这个Demo是初学者了解和学习Spring Boot与Redis整合的一个良好起点,同时也为开发者提供了...
### Spring Boot 中 Log4j 和 Slf4j 的使用与比较 #### 一、前言 随着微服务架构的流行,日志管理成为了软件开发中不可或缺的一部分。在 Java 生态系统中,Log4j 和 Slf4j 是两种非常流行且功能强大的日志框架。...
在 Spring Boot 中,日志系统是通过 SLF4J (Simple Logging Facade for Java) 接口实现的,它提供了一个抽象层,允许开发者使用不同的日志框架,如 Logback、Log4j2 等。SLF4J 提供了 `LoggerFactory` 类,该类提供...
在Spring Boot应用中,我们可以使用`@Slf4j`注解(需引入Lombok库)或者直接实例化`Logger`对象来记录日志。例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Service public ...
在日志记录方面,Spring Boot 默认使用 logback 记录日志,而不是 log4j。logback 是一个基于 log4j 的日志记录框架,提供了更加灵活和强大的日志记录功能。在本文中,我们将详细介绍 Spring Boot 使用 logback、...
`LoggerFactory.getLogger()`是Spring Boot集成的SLF4J(Simple Logging Facade for Java)框架提供的核心功能,用于获取与特定类关联的日志记录器。SLF4J作为一个抽象层,允许开发者在不修改代码的情况下切换到其他...
这是SLF4J框架中负责绑定具体日志实现的部分。`StaticLoggerBinder`的初始化确保了日志工厂的单例和后续操作的高效性。 3. **LoggerContext实例化**:Logback使用`LoggerContext`作为日志上下文,它负责管理和配置...
LogBack是SLF4J(Simple Logging Facade for Java)的一个实现,它提供了丰富的日志记录功能。在Spring Boot项目中,通常我们不需要显式地添加`spring-boot-starter-logging`依赖,因为`spring-boot-starter`或`...
SLF4J(Simple Logging Facade for Java)是Java中一个简单日志门面的接口,它为各种日志框架提供了统一的API,比如Logback、Log4j等。MDC,全称Mapped Diagnostic Context,是SLF4J提供的一种上下文诊断功能,用于...
Spring框架底层使用的是JCL,而Spring Boot则选择SLF4J作为其日志门面,同时通常与logback搭配使用,因为logback在性能和功能上较log4j有所提升。 当我们使用SLF4J作为日志门面时,需要结合不同的日志实现库来实际...
Spring Boot默认使用Logback作为其日志系统,但同时也支持其他日志框架,包括Log4j。为了将Log4j引入到Spring Boot项目中,我们需要添加相应的依赖。在`pom.xml`文件中,我们需要注释掉Spring Boot默认的日志依赖,...
- 日志管理,Spring Boot使用SLF4J和Logback作为日志门面和基础实现。 - 数据访问,包括JPA、JDBC、JOOQ等。 - 测试,包括单元测试和集成测试。 8. 构建Spring Boot应用系统: - Maven是推荐的构建工具,它与...
SLF4J "日志门面的使用 日志的绑定 日志的桥接 日志门面的原理" log-back "log-back的日志框架 log-back的配置 logback记录tomcat的访问日志" log4j2 "log4j2的日志框架 log4j2的配置 异步日志的使用" spring整合log...
Spring Boot默认集成了多种日志框架,如Logback和Log4j2,使得日志配置简单且高效。在这个"SpringBoot中的日志管理示例代码"中,我们将探讨如何在Spring Boot应用中有效地管理和使用日志。 首先,Spring Boot的日志...
其中,core模块是基础,classics模块兼容Log4j,而SLF4J(Simple Logging Facade for Java)则是一个抽象层,允许用户在运行时选择不同的日志实现,如Logback或Log4j。 3. **Hello World示例** - 对于Log4j,我们...