1
在我的spring應用程序中,我試圖使用slf4j-log4j日誌記錄機制,但它似乎不適用於我。它也沒有給出任何錯誤,也沒有初始化記錄機制。寫在pom.xml中春季應用程序無法使用slf4j-log4j初始化日誌記錄
依賴關係如下...
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springVersion}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- log4j and slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>provided</scope>
</dependency>
log4j.properties文件是如下
log4j.rootLogger=INFO, file, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%5p] %d{mm:ss} (%F:%M:%L)%n%m%n%n
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=D:/logs/ov/ov
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %m %n
log4j.appender.file.DatePattern=yyyy-MM-dd-HH'.log'
項目運行良好...但日誌沒有得到建成。這是控制檯顯示,當我在Tomcat
Jun 06, 2014 7:54:08 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jdk1.7.0_10\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin;C:\Program Files (x86)\Java\jdk1.7.0_10\bin;D:\Installations\apache-maven-3.0.4\bin;D:\eclipse;;.
Jun 06, 2014 7:54:08 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:onevalue' did not find a matching property.
Jun 06, 2014 7:54:08 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jun 06, 2014 7:54:08 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jun 06, 2014 7:54:08 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1063 ms
Jun 06, 2014 7:54:08 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jun 06, 2014 7:54:08 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.35
Jun 06, 2014 7:54:17 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://tiles.apache.org/tags-tiles is already defined
Jun 06, 2014 7:54:17 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jun 06, 2014 7:54:17 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jun 06, 2014 7:54:23 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'onevalue'
Jun 06, 2014 7:54:27 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jun 06, 2014 7:54:27 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jun 06, 2014 7:54:27 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 18184 ms
嗨durron,感謝您的答覆。你的回答是正確的,我在其他項目中也是這樣做的。但是在這裏我不能使用最新的slf4j庫,並且需要堅持使用slf4j的1.6.1版本,如果我使用最新版本,它將與1.6.1放置在共享路徑上發生衝突。所以我只是在pom.xml中更改了slf4j的版本。但噗,它停止工作,甚至沒有一個例外。而且我現在不知道如何使它工作。任何信息? –
是的...當我用提供的 標記我的slf4j v1.6.1相關性時,日誌記錄不會被初始化。他們在默認情況下工作,即沒有範圍標籤。儘管我已經交叉檢查了我的classpath中是否有slf4j和slf4j-log4j12 v1.6.1 jar包。 –