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实现日志输出。
分享到:
相关推荐
2. 添加Logback依赖:在`pom.xml`中添加Logback的三个核心组件:`logback-core`、`logback-classic`和`log4j-over-slf4j`。`logback-classic`是Logback的用户接口,`logback-core`是其核心库,而`log4j-over-slf4j`...
Spring MVC 是一个强大的Java web应用...同时,由于SLF4J的抽象特性,未来如果需要更换其他日志框架,如Log4j2,只需要替换对应的桥接器和实现库,而无需修改代码中的日志调用。这体现了日志管理的灵活性和可扩展性。
本组件基于logback+slf4j,暂不支持log4j,如需解决log4j的日志,可以参照本组件的思想去完成。 本组件支持的脱敏数据类型:八大基本类型及其包装类型、String类型、Map、List、JSON字符串、项目中的POJO对象。 注...
另一个方法是通过日志框架(如Log4j或SLF4J)设置过滤器,匹配并替换特定的敏感关键字。但这可能会导致性能下降,因为每个日志输出都要进行正则匹配。 为了克服上述两种方法的局限,可以采取一种混合策略,即在...
在Java世界里,有多个日志组件,如Log4j、Logback、Java Util Logging (JUL)、SLF4J(Simple Logging Facade for Java)以及Apache Commons Logging等。这些组件之间存在多种关系,包括门面与实现的关系,以及桥接和...
Slf4j允许开发者在部署时通过Maven或类路径中的桥接器替换日志实现,如Log4j、Logback等。使用Slf4j的好处在于解耦了日志实现和应用代码,使得日志系统的选择更加灵活。在SpringBoot中,通常会默认集成Logback作为...
如果开发者更倾向于使用Log4j2或JUL,只需将`spring-boot-starter-logging`替换为对应的`spring-boot-starter-log4j2`或`spring-boot-starter-jul`,Spring Boot会自动配置相应的日志系统。 七、日志处理器与监听器...
1. **日志配置**:首先,你需要在项目中引入一个日志框架,如Log4j或Logback。在这个例子中,提供的文件`log4j.xml`表明了日志配置可能使用的是Log4j。在Log4j配置文件中,你可以设置合适的级别(如`DEBUG`)以便...
Commons Logging是Apache软件基金会开发的一个Java日志抽象层,它为各种日志框架提供了一个统一的接口,如Log4j、java.util.logging (JUL) 和Simple Logging Facade for Java (SLF4J)。标题提到的"commons-logging-...
对于日志管理,使用slf4j接口可以灵活切换不同的日志实现,如log4j、logback等。 总之,SSH框架整合是一个复杂但实用的过程,通过合理的配置和注解使用,可以构建高效、可维护的企业级应用。在实践过程中,开发者...
Spring Boot默认集成了Logback作为日志框架,但同样支持其他日志系统,如Log4j2。下面详细介绍在Spring Boot下搭建日志框架的步骤和知识点。 首先,关于日志框架的选择,Spring Boot官方推荐使用Logback,并且在...
日志管理是微服务架构中的一个重要方面,Spring Cloud 提供了 Logback 和 Log4j 等日志管理组件。这些组件可以帮助开发者管理微服务的日志,实现高可维护性和可扩展性。 九、 微服务架构中的监控和管理 监控和管理...
Spring Boot 的日志记录默认使用 logback,可以更改为 log4j 和 log4j2。在 maven 中声明类似 spring-boot-starter-log4j 的依赖项即可。 Spring Boot 的 Web 模块 defaults to springmvc 和 tomcat,默认 run 会在...
6. **日志管理**:Spring Boot默认集成了Logback或Log4j2,我们可以根据项目需求调整日志级别和输出格式。 7. **邮件服务**:Spring Boot的Mail Starter可以帮助我们方便地发送邮件,只需要配置好SMTP服务器信息。 ...
- Thymeleaf依赖于日志框架,如`slf4j-api.jar`和对应的实现库(如`logback-classic.jar`或`log4j.jar`)。这些库负责处理Thymeleaf的日志输出。 在实际项目中,`thymeleaf_lib`压缩包可能包含了上述所有或部分jar...
- **日志格式**:支持多种日志框架,如Logback、Log4j等。 - **控制台输出**:默认的日志输出方式。 - **文件输出**:可以配置日志记录到文件中。 - **日志级别**:设置日志的最低输出级别。 - **自定义日志配置**:...
5. Log4j或Logback等日志框架的jar,用于记录应用程序的运行日志。 6. 其他可能的依赖库,例如 Commons-lang3、Jackson或Gson等,用于JSON序列化和反序列化。 使用"ssm整合jar包"时,开发者通常需要按照一定的步骤...
在实际开发中,这套脚手架可能会使用Spring Security处理权限控制,使用Swagger生成API文档,使用Logback或Log4j记录日志,使用JUnit和Mockito进行单元测试。它可能还包括了Dockerfile,便于部署到Docker容器中。总...
这个博客系统可能还包括其他组件,如安全控制(Spring Security)、邮件服务(Spring Mail)、日志管理(Logback或Log4j)等。开发者可以通过阅读源码,学习如何将这些组件集成到SpringBoot应用中,以及如何利用...