`

spring中使用logback日志组件替换log4j

 
阅读更多

logback比log4j的强大之处,请到logback的主页去看,我就不啰嗦了,你懂、或者不懂,logback就在那里,无比强大,傲视绝伦。

复制log4j-over-slf4j.jar,logback-classic.jar,logback-core.jar,jcl-over-slf4j.jar到lib目录,删除原有的log4j.jar。

 

创建一个新类

package com.boaotech.util;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;
/**
 * @author Kiven Lee
 * @version 1.0
 */
public class LogbackConfigListener implements ServletContextListener {
    private static final Logger logger = LoggerFactory.getLogger(LogbackConfigListener.class);
   
    private static final String CONFIG_LOCATION = "logbackConfigLocation";
    @Override
    public void contextInitialized(ServletContextEvent event) {
        //从web.xml中加载指定文件名的日志配置文件
        String logbackConfigLocation = event.getServletContext().getInitParameter(CONFIG_LOCATION);
        String fn = event.getServletContext().getRealPath(logbackConfigLocation);
        try {
            LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
            loggerContext.reset();
            JoranConfigurator joranConfigurator = new JoranConfigurator();
            joranConfigurator.setContext(loggerContext);
            joranConfigurator.doConfigure(fn);
            logger.debug("loaded slf4j configure file from {}", fn);
        }
        catch (JoranException e) {
            logger.error("can loading slf4j configure file from " + fn, e);
        }
    }
    @Override
    public void contextDestroyed(ServletContextEvent event) {
    }
}

 在web.xml中加入

   <!--初始化日志配置文件 -->
    <listener>
        <listener-class>
            com.boaotech.util.LogbackConfigListener
        </listener-class>
    </listener>
    <context-param>
        <param-name>logbackConfigLocation</param-name>
        <param-value>WEB-INF/logback.xml</param-value>
    </context-param>

 转至用于学习:http://blog.csdn.net/kivenlee/article/details/6284792

分享到:
评论

相关推荐

    如何将应用的log4j替换成logback详解

    2. 添加Logback依赖:在`pom.xml`中添加Logback的三个核心组件:`logback-core`、`logback-classic`和`log4j-over-slf4j`。`logback-classic`是Logback的用户接口,`logback-core`是其核心库,而`log4j-over-slf4j`...

    spring MVC所需日志相关包

    Spring MVC 是一个强大的Java web应用...同时,由于SLF4J的抽象特性,未来如果需要更换其他日志框架,如Log4j2,只需要替换对应的桥接器和实现库,而无需修改代码中的日志调用。这体现了日志管理的灵活性和可扩展性。

    自定义日志脱敏组件,简单3 步完成 Spring Boot 的日志脱敏

    本组件基于logback+slf4j,暂不支持log4j,如需解决log4j的日志,可以参照本组件的思想去完成。 本组件支持的脱敏数据类型:八大基本类型及其包装类型、String类型、Map、List、JSON字符串、项目中的POJO对象。 注...

    java 日志的数据脱敏的实现方法

    另一个方法是通过日志框架(如Log4j或SLF4J)设置过滤器,匹配并替换特定的敏感关键字。但这可能会导致性能下降,因为每个日志输出都要进行正则匹配。 为了克服上述两种方法的局限,可以采取一种混合策略,即在...

    Java日志组件间关系详解

    在Java世界里,有多个日志组件,如Log4j、Logback、Java Util Logging (JUL)、SLF4J(Simple Logging Facade for Java)以及Apache Commons Logging等。这些组件之间存在多种关系,包括门面与实现的关系,以及桥接和...

    涵盖SpringBoot的AOP、Slf4j日志门面-springboot-in-action.zip

    Slf4j允许开发者在部署时通过Maven或类路径中的桥接器替换日志实现,如Log4j、Logback等。使用Slf4j的好处在于解耦了日志实现和应用代码,使得日志系统的选择更加灵活。在SpringBoot中,通常会默认集成Logback作为...

    spring-boot-starter-logging:日志组件

    如果开发者更倾向于使用Log4j2或JUL,只需将`spring-boot-starter-logging`替换为对应的`spring-boot-starter-log4j2`或`spring-boot-starter-jul`,Spring Boot会自动配置相应的日志系统。 七、日志处理器与监听器...

    打印JdbcTemplate执行sql

    1. **日志配置**:首先,你需要在项目中引入一个日志框架,如Log4j或Logback。在这个例子中,提供的文件`log4j.xml`表明了日志配置可能使用的是Log4j。在Log4j配置文件中,你可以设置合适的级别(如`DEBUG`)以便...

    commons-logging-1.1.1.jar开发架包

    Commons Logging是Apache软件基金会开发的一个Java日志抽象层,它为各种日志框架提供了一个统一的接口,如Log4j、java.util.logging (JUL) 和Simple Logging Facade for Java (SLF4J)。标题提到的"commons-logging-...

    SSH最新框架整合(经典不容错过).pdf

    对于日志管理,使用slf4j接口可以灵活切换不同的日志实现,如log4j、logback等。 总之,SSH框架整合是一个复杂但实用的过程,通过合理的配置和注解使用,可以构建高效、可维护的企业级应用。在实践过程中,开发者...

    如何在springBoot下搭建日志框架

    Spring Boot默认集成了Logback作为日志框架,但同样支持其他日志系统,如Log4j2。下面详细介绍在Spring Boot下搭建日志框架的步骤和知识点。 首先,关于日志框架的选择,Spring Boot官方推荐使用Logback,并且在...

    2022 HZCU《软件体系结构》大作业

    日志管理是微服务架构中的一个重要方面,Spring Cloud 提供了 Logback 和 Log4j 等日志管理组件。这些组件可以帮助开发者管理微服务的日志,实现高可维护性和可扩展性。 九、 微服务架构中的监控和管理 监控和管理...

    SpringBoot启动方式

    Spring Boot 的日志记录默认使用 logback,可以更改为 log4j 和 log4j2。在 maven 中声明类似 spring-boot-starter-log4j 的依赖项即可。 Spring Boot 的 Web 模块 defaults to springmvc 和 tomcat,默认 run 会在...

    使用springboot改造jeesite,只保留最简单的系统配置

    6. **日志管理**:Spring Boot默认集成了Logback或Log4j2,我们可以根据项目需求调整日志级别和输出格式。 7. **邮件服务**:Spring Boot的Mail Starter可以帮助我们方便地发送邮件,只需要配置好SMTP服务器信息。 ...

    Thymeleaf所需要的jar包

    - Thymeleaf依赖于日志框架,如`slf4j-api.jar`和对应的实现库(如`logback-classic.jar`或`log4j.jar`)。这些库负责处理Thymeleaf的日志输出。 在实际项目中,`thymeleaf_lib`压缩包可能包含了上述所有或部分jar...

    springboot参考指南中文word文档

    - **日志格式**:支持多种日志框架,如Logback、Log4j等。 - **控制台输出**:默认的日志输出方式。 - **文件输出**:可以配置日志记录到文件中。 - **日志级别**:设置日志的最低输出级别。 - **自定义日志配置**:...

    ssm整合jar包

    5. Log4j或Logback等日志框架的jar,用于记录应用程序的运行日志。 6. 其他可能的依赖库,例如 Commons-lang3、Jackson或Gson等,用于JSON序列化和反序列化。 使用"ssm整合jar包"时,开发者通常需要按照一定的步骤...

    java简单、快速、高效的后台脚手架.zip

    在实际开发中,这套脚手架可能会使用Spring Security处理权限控制,使用Swagger生成API文档,使用Logback或Log4j记录日志,使用JUnit和Mockito进行单元测试。它可能还包括了Dockerfile,便于部署到Docker容器中。总...

    基于SpringBoot+Thymeleaf+JPA的博客系统.zip

    这个博客系统可能还包括其他组件,如安全控制(Spring Security)、邮件服务(Spring Mail)、日志管理(Logback或Log4j)等。开发者可以通过阅读源码,学习如何将这些组件集成到SpringBoot应用中,以及如何利用...

Global site tag (gtag.js) - Google Analytics