spring+slf4j+logback(四)

本文介绍如何在项目中配置并使用Logback进行日志记录。通过具体的代码示例展示了如何在pom.xml中引入依赖,并详细解释了logback.xml配置文件的设置,包括控制台输出和滚动文件输出的日志格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pom.xml里面需要引用相应的jar包

  <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.10</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.1</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.1</version>
            <type>jar</type>
        </dependency>

logback会自动去寻找logback-test.xml和logback.xml配置文件,如果都不存在,使用默认配置。

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
       <property resource="config.properties"/>
       <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
              <encoder>
                     <pattern>[%-5level][%date]--%msg--[%M][%F{16},%L]%n</pattern>
              </encoder>
       </appender>

       <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
              <file>${log.path}lf.log</file>
              <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                     <fileNamePattern>${log.path}lf.%d{yyyy-MM-dd}.log</fileNamePattern>
              </rollingPolicy>
              <encoder>
                     <pattern>[%-5level][%date]--%msg--[%M][%F{16},%L]%n</pattern>
                     <charset>UTF-8</charset>
              </encoder>
       </appender>

       <!-- project default level -->
       <logger name="lf" level="${log.level}" />

       <root level="INFO">
              <appender-ref ref="console" />
              <appender-ref ref="rollingFile" />
       </root>
</configuration>
config.properties相应参数设置

#log
log.level=DEBUG
log.path=/home/logs/
测试

在UserServiceImpl中测试

@Service
public class UserServiceImpl implements UserService{
    private final Logger LOG = LoggerFactory.getLogger(this.getClass());
    @Autowired
    UserDao userDao;
    @Override
    public Page<User> selectUserByCon(Map<String, Object> paramMap) {
        Page<User> list = null;
        try{
            list=userDao.selectUserByCon(paramMap);
        }catch (DataAccessException e){

        }
        LOG.info("selectUserByCon error.");
        return list;
    }
}
执行结果




  


### 如何在Maven项目中添加SLF4J 1.7与Logback的依赖 对于希望集成SLF4J 1.7以及Logback作为日志框架的开发者来说,在pom.xml文件内声明相应的依赖项是必要的操作。由于Spring Boot默认已经集成了SLF4JLogback,通常情况下无需额外引入这些库[^2]。然而如果需要指定版本或是自定义配置,则可以在`pom.xml`中显式地加入如下所示的内容: ```xml <dependencies> <!-- SLF4J API --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> <!-- 版本号可根据实际需求调整 --> </dependency> <!-- Logback Classic Module (includes Core) --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.10</version> <!-- 版本号同样可以根据实际情况修改 --> </dependency> </dependencies> ``` 上述XML片段展示了如何向Maven项目的构建描述符(`pom.xml`)里增加两个主要组件——SLF4J接口实现及其背后的Logback经典模块。通过这种方式能够确保应用程序拥有强大的日志记录能力。 一旦完成了依赖关系的设置之后,就可以像下面这样轻松创建并使用Logger实例来记录不同级别的消息了[^3]: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App { private static final Logger logger = LoggerFactory.getLogger(App.class); public static void main(String[] args) { logger.info("-------------------info"); logger.debug("--------------------debug"); System.out.println("Hello World!"); } } ``` 这段Java代码示范了一个简单的应用入口方法(main),其中利用了之前提到的日志工具来进行信息级(INFO level) 和调试级(DEBUG level) 的事件追踪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值