代码之家  ›  专栏  ›  技术社区  ›  Gábor Lipták

使用库配置SLF4J使用LOG4J配置

  •  16
  • Gábor Lipták  · 技术社区  · 14 年前

    我有一个使用log4j的项目,现在我要介绍一个使用slf4j的库,我可以让slf4j根据log4j的配置进行初始化吗?所以我基本上希望log4j作为slf4j下的底层库。

    更新:

    log4j配置如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    
    <log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="fileAppender" class="org.apache.log4j.rolling.RollingFileAppender">
            <param name="file" value="${log.dir}/${log.file}.log" />
            <param name="append" value="true" />
            <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
                <param name="FileNamePattern" value="${archive.log.dir}/${log.file}.%d{yyyy-MM-dd}.gz" />
                <param name="ActiveFileName" value="${log.dir}/${log.file}.log"/>
            </rollingPolicy>
            <layout class="org.apache.log4j.EnhancedPatternLayout">
                <param name="ConversionPattern" value="%d{yyMMdd HH:mm:ss,SSS} [%t] %-5p %c %X %m%n" />
            </layout>
        </appender>
        <logger name="org.hibernate"> 
            <level value="ALL" /> 
            <appender-ref ref="fileAppender"/> 
        </logger> 
        <root>
            <priority value="info" />
            <appender-ref ref="fileAppender" />
        </root>
    </log4j:configuration>
    

    我还使用apache-log4j-extras版本1.0。 log4j版本是1.2.16

    1 回复  |  直到 14 年前
        1
  •  25
  •   darioo    14 年前

    是的,你需要三个 jar 项目类路径中的文件:

    slf4j-api-1.6.1.jar       // the slf4j API
    slf4j-log4j12-1.6.1.jar   // log4j bindings for slf4j
    log4j-1.2.15.jar          // log4j itself
    

    确保您有相同版本的 slf4j-api slf4j-log4j12 ,否则就行不通了。如果我没有弄错的话,你也可以使用最新的log4j版本,1.2.16。