`
zjb10000
  • 浏览: 142075 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于SLF4J结合Log4j使用时日志输出与指定的log4j.properties不同

    博客分类:
  • java
阅读更多

关于log4j和slf4j的知识和如何使用这里不做介绍。

 

 

1、出现的原因:log4j,slf4j结合使用时,这里说下slf4j的一点原理:它是facade模式设计的,简单的说它只是个门面,具体做事的还是被他包装起来的(如:apache common logging,log4j,jdklogging等),所以在搭建项目是如果想使用slf4j那你必须还得选择一个干活的工具,也就是对应的配置文件,这里我选者Log4j,相应的配置文件是log4j.properties.

 

2、为什么出错了:我在搭建工程的时候放了log4j-1.2.16.jar、slf4j-api-1.5.11.jar、slf4j-simple-1.5.11.jar,使用的配置文件是log4j.properties,用:

PropertyConfigurator.configure("conf/log4j.properties");

 加载了日志配置,在spring中打出的日志和log4j.properties指定的格式相同,但是我在自己的程序中输出日志时显示的格式和指定的不同,应为没有琢磨透,所以很晕,无解,后来单独建立个工程找出了问题所在。其实很简单:

slf4j-simple-1.5.11.jar就是Jdk Logging相关的jar,而Jdk logging系统默认有一个配置文件,在JAVA_HOME中,而JDk logging加载配置文件的时候有个优先顺序(自己去查),所以出现了日志输出不同的问题。

 

3、此次记录为了自己学习和遇到同样问题的朋友解决,文采一般,请见谅。

 

 

分享到:
评论
2 楼 wunaidukun 2011-12-10  
哥们,那你最后是怎么解决的呢?我现在也遇到一个问题,项目添加了slf4j后,在控制台日志输出没问题。spring加载的日志可以输出到文件中,但是在程序中我自己添加的日志没有输出到文件中。而且控制台输出的我程序中添加的日志格式也不是我配置文件中定义的。看了你说的,可是还是不是很清楚解决办法,能告知下吗?谢谢了。
1 楼 About_future 2011-09-13  
在javaee 6中,包bean-validator.jar 和weld-osgl-bundle.jar中都存在slf4j的包,并且自带与jdk log绑定包,这样就会导致我的log4j不起作用,并且外加的slf4j的包都会起冲突,望得帮助···

相关推荐

    slf4j-log4j12-1.7.7.jar下载

    在使用SLF4J和Log4j12时,你需要注意的一点是,由于Log4j1.2相比Log4j2在某些方面可能较旧,例如性能和功能更新,因此在新项目中,你可能会考虑使用更新的SLF4J绑定器,如slf4j-log4j2,以便利用Log4j2的改进特性。...

    slf4j-log4j12-1.7.12.jar、slf4j-api-1.7.12.jar

    标题中的"slf4j-log4j12-1.7.12.jar"是SLF4J的一个绑定包,它的作用是将SLF4J API与log4j日志框架连接起来。具体来说,这个版本(1.7.12)的绑定包实现了SLF4J的API,并将其桥接到log4j的实现上,使得开发者可以通过...

    log4j + slf4j-api + slf4j-log4j12

    使用这些组件时,开发者需要在项目中配置log4j的配置文件(通常是`log4j.properties`或`log4j.xml`),定义日志输出的级别、格式、目的地等。SLF4J API的使用则是在代码中引入相应的依赖,并通过SLF4J的...

    slf4j-log4j12-1.5.6.jar

    2. **配置 Log4j**:创建一个 `log4j.properties` 或 `log4j.xml` 配置文件,定义日志级别、输出目的地、格式等。 3. **避免日志冲突**:确保项目中没有其他日志库(如 log4j、java.util.logging)的直接引用,以免...

    slf4j-log4j12-1.6.6.jar

    在使用`slf4j-log4j12-1.6.6.jar`时,开发者首先会通过SLF4J API在代码中记录日志,然后在运行环境中通过配置文件(如log4j.properties或log4j.xml)指定日志输出的策略。例如,开发者可以设置日志级别,控制哪些...

    slf4j-log4j12-1.7.2.jar 亲测可用

    3. 配置Log4j:在项目中,你需要提供一个`log4j.properties`或`log4j.xml`配置文件,定义日志输出的级别(如DEBUG、INFO、WARN、ERROR等)、格式和目标(如控制台、文件、邮件等)。 4. 使用SLF4J API:在你的代码...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    2. **配置Log4j**:在项目的类路径下创建`log4j.properties`或`log4j.xml`配置文件,指定日志级别、输出目的地等。例如: ```properties # log4j.properties log4j.rootLogger=DEBUG, stdout log4j.appender....

    log4j-1.2.16.jar与slf4j-api-1.6.1.jar加个转换包和log4j.properties示例

    2. 添加`slf4j-log4j12.jar`作为转换包,使SLF4J能够使用Log4j实现。 3. 创建或提供一个`log4j.properties`文件,并将其配置为项目所需的日志行为。 4. 在代码中使用SLF4J API进行日志记录,如:`org.slf4j.Logger`...

    slf4j+log4j

    总的来说,SLF4J和Log4j的结合使用提供了强大的日志处理能力,使得开发者可以在保持代码简洁的同时,灵活地调整日志输出,便于调试和问题排查。在实际项目中,正确配置和使用这两个工具对于提高开发效率和维护性至关...

    slf4j与Log4j集成

    2. 配置Log4j:创建一个`log4j.properties`或`log4j.xml`配置文件,指定日志级别、布局和输出目的地。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org....

    slf4j-api-1.6.1和slf4j-log4j12-1.6.1和log4j-1.2.16包

    这意味着你的代码将使用SLF4J API进行日志记录,而实际的日志输出则由Log4j控制,包括配置文件(如`log4j.properties`或`log4j.xml`)中的设置。 **log4j-1.2.16** Log4j是Apache软件基金会的一个开源项目,它提供...

    slf4j1.7.25+ log4j2.8.2 集成jar包

    Log4j的配置文件(如log4j.properties或log4j.xml)允许开发者指定日志输出的位置、格式以及级别,便于管理和调试。 3. **Spring MVC与日志** Spring MVC是Spring框架的一部分,用于构建Web应用程序。在Spring MVC...

    slf4j-log4j相关jar

    4. 配置Log4j的配置文件(如log4j.properties或log4j.xml),定义日志级别、输出目的地和格式等。 5. 在代码中使用SLF4J的API记录日志,例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; ...

    slf4j-log4j12-1.5.2.jar架包.rar

    在使用SLF4J-log4j12-1.5.2.jar时,你需要在项目中添加对应的依赖,并配置Log4j的配置文件(通常名为`log4j.properties`或`log4j.xml`),以定义日志级别、输出格式和目标。例如: ```properties # log4j....

    slf4j最新jar包下载和jar包

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它提供了一个接口,允许用户在运行时动态地绑定到各种具体的日志框架,如Log4j、Java内置的日志或者Logback等。这个设计使得开发者可以在不修改...

    slf4j-log4j12-1.7.1.jar

    总之,“slf4j-log4j12-1.7.1.jar”是SLF4J与Log4j 1.2的结合,提供了简单易用的日志接口,并允许在运行时选择日志实现,增强了软件的可维护性和可扩展性。理解这一绑定机制及其使用方法对于优化Java应用的日志管理...

    slf4j-log4j12-1.6.1.jar java包

    这个"slf4j-log4j12-1.6.1.jar"文件是一个特定版本的SLF4J绑定,它将SLF4J接口与Log4j 1.2的具体实现相结合。 1. SLF4J介绍: SLF4J(Simple Logging Facade for Java)是一个日志门面,它为各种日志框架提供了...

    slf4j jar包

    3. **桥接器**:如果项目中已经存在其他日志框架,SLF4J提供了桥接器,例如log4j-over-slf4j,可以将Log4j的日志调用重定向到SLF4J API。 **SLF4J的使用步骤:** 1. **引入SLF4J API**:在项目中添加slf4j-api.jar...

    slf4j-log4j12-1.5.2.rar

    使用这个JAR文件,开发者可以在项目中引入SLF4J的API,并通过配置Log4j的属性文件(log4j.properties或log4j.xml)来控制日志输出的级别、格式和目的地。 在实际应用中,使用SLF4J和Log4j的好处包括: 1. **灵活性*...

    slf4j-api-1.7.12.jar slf4j-log4j12-1.7.12.jar

    SLF4J(Simple Logging Facade for...`slf4j-api-1.7.12.jar`和`slf4j-log4j12-1.7.12.jar`分别是SLF4J API和SLF4J到Log4j的绑定,它们共同工作,使开发者能够利用Log4j的强大功能,同时保持代码与具体日志系统的分离。

Global site tag (gtag.js) - Google Analytics