`
jin8000608172
  • 浏览: 139811 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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>  



最后,在WEB-INF下新建logback.xml配置,配置请参考logback帮助手册。
经过这样的配置后,应用中所有使用log4j,common-logger的jar,均可正常通过logback实现日志输出。
分享到:
评论

相关推荐

    如何将应用的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