使用库配置SLF4J使用LOG4J配置

Gáb*_*ták 16 configuration log4j configuration-files slf4j

我有一个使用log4j的项目.现在我必须使用slf4j介绍一个库.我可以请求slf4j基于log4j配置初始化自己吗?所以我基本上希望log4j作为slf4j下的底层库.

更新:

log4j config是这样的:

<?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>
Run Code Online (Sandbox Code Playgroud)

我也使用apache-log4j-extras 1.0版.log4j版本是1.2.16

dar*_*ioo 25

是的,您需要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
Run Code Online (Sandbox Code Playgroud)

请确保您有相同版本slf4j-apislf4j-log4j12,否则将无法正常工作.如果我没记错的话你也可以使用最新的log4j版本1.2.16.