Spring 幕后的春天
我使用Spring 幕后的春天,spring,spring-mvc,log4j,log4j2,Spring,Spring Mvc,Log4j,Log4j2,我使用log4j2,无法从spring获取日志。 当我编写自己的logger.debug(…)时它可以工作,但与System.out.println(…)相同 我想知道春天的幕后发生了什么。显示创建的bean或debuggig错误,如400 我尝试了这个配置,但什么都没发生: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="INFO"> <Appenders>
log4j2
,无法从spring获取日志。
当我编写自己的logger.debug(…)时代码>它可以工作,但与System.out.println(…)相同代码>
我想知道春天的幕后发生了什么。显示创建的bean或debuggig错误,如400
我尝试了这个配置,但什么都没发生:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Root level="ALL">
<AppenderRef ref="CONSOLE"/>
</Root>
<logger name="org.springframework" level="ALL">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver" level="ALL">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.springframework.beans.factory.support.DefaultListableBeanFactory" level="ALL">
<appender-ref ref="CONSOLE"/>
</logger>
</Loggers>
</Configuration>
pom.xml
<!-- log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-rc2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.0-rc2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.0-rc2</version>
</dependency>
org.apache.logging.log4j
log4japi
2.0-rc2
org.apache.logging.log4j
log4j型芯
2.0-rc2
org.apache.logging.log4j
log4jweb
2.0-rc2
运行时
org.apache.logging.log4j
log4jcl
2.0-rc2
启动日志:
juil. 09, 2014 4:42:57 PM org.apache.catalina.core.AprLifecycleListener init
Infos: 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\Java\jdk1.7.0_45\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11\Driver;D:\apache-maven-3.1.1\bin;C:\wamp\bin\mysql\mysql5.5.24\bin;C:\Program Files\Java\jdk1.7.0_45\bin;;D:\AO Project\eclipse;;.
juil. 09, 2014 4:42:57 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Avertissement: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:AO' did not find a matching property.
juil. 09, 2014 4:42:57 PM org.apache.coyote.AbstractProtocol init
Infos: Initializing ProtocolHandler ["http-nio-8080"]
juil. 09, 2014 4:42:57 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
Infos: Using a shared selector for servlet write/read
juil. 09, 2014 4:42:57 PM org.apache.coyote.AbstractProtocol init
Infos: Initializing ProtocolHandler ["ajp-nio-8009"]
juil. 09, 2014 4:42:57 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
Infos: Using a shared selector for servlet write/read
juil. 09, 2014 4:42:57 PM org.apache.catalina.startup.Catalina load
Infos: Initialization processed in 670 ms
juil. 09, 2014 4:42:57 PM org.apache.catalina.core.StandardService startInternal
Infos: Démarrage du service Catalina
juil. 09, 2014 4:42:57 PM org.apache.catalina.core.StandardEngine startInternal
Infos: Starting Servlet Engine: Apache Tomcat/8.0.9
juil. 09, 2014 4:43:02 PM org.apache.catalina.core.ApplicationContext log
Infos: Log4jServletContainerInitializer starting up Log4j in Servlet 3.0+ environment.
juil. 09, 2014 4:43:03 PM org.apache.catalina.core.ApplicationContext log
Infos: No Spring WebApplicationInitializer types detected on classpath
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
juil. 09, 2014 4:43:03 PM org.apache.catalina.core.ApplicationContext log
Infos: Initializing Spring root WebApplicationContext
juil. 09, 2014 4:43:04 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [
name: persistenceYous
...]
juil. 09, 2014 4:43:05 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.5.Final}
juil. 09, 2014 4:43:05 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
juil. 09, 2014 4:43:05 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
juil. 09, 2014 4:43:06 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
juil. 09, 2014 4:43:06 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
juil. 09, 2014 4:43:07 PM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
juil. 09, 2014 4:43:11 PM org.apache.catalina.core.ApplicationContext log
Infos: Log4jServletContextListener ensuring that Log4j starts up properly.
juil. 09, 2014 4:43:11 PM org.apache.catalina.core.ApplicationContext log
Infos: Log4jServletFilter initialized.
juil. 09, 2014 4:43:11 PM org.apache.catalina.core.ApplicationContext log
Infos: Initializing Spring FrameworkServlet 'mvc-dispatcher'
juil. 09, 2014 4:43:13 PM org.apache.coyote.AbstractProtocol start
Infos: Starting ProtocolHandler ["http-nio-8080"]
juil. 09, 2014 4:43:13 PM org.apache.coyote.AbstractProtocol start
Infos: Starting ProtocolHandler ["ajp-nio-8009"]
juil. 09, 2014 4:43:13 PM org.apache.catalina.startup.Catalina start
Infos: Server startup in 15715 ms
juil。2014年9月4日下午4:42:57 org.apache.catalina.core.AprLifecycleListener init
信息:在java.library.path:C:\Program Files\java\jdk1.7.0_45\bin上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中实现最佳性能;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/programfiles/Java/jre7/bin/client;C:/ProgramFiles/Java/jre7/bin;C:/ProgramFiles/Java/jre7/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles\Broadcom\Broadcom 802.11\Driver;D:\apache-maven-3.1.1\bin;C:\wamp\bin\mysql\mysql5.5.24\bin;C:\ProgramFiles\Java\jdk1.7.0_45\bin;;D:\AO Project\eclipse;;。
尤尔。2014年9月4日下午4:42:57 org.apache.tomcat.util.digester.SetPropertiesRule begin
Avertissement:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:AO”未找到匹配的属性。
尤尔。09,2014 4:42:57 PM org.apache.coyote.AbstractProtocol init
Infos:初始化ProtocolHandler[“http-nio-8080”]
尤尔。2014年9月4日下午4:42:57 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
Infos:为servlet写/读使用共享选择器
尤尔。09,2014 4:42:57 PM org.apache.coyote.AbstractProtocol init
信息:初始化ProtocolHandler[“ajp-nio-8009”]
尤尔。2014年9月4日下午4:42:57 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
Infos:为servlet写/读使用共享选择器
尤尔。2014年9月4日下午4:42:57 org.apache.catalina.startup.catalina加载
信息:初始化处理时间为670毫秒
尤尔。2014年9月4日下午4:42:57 org.apache.catalina.core.StandardService startInternal
信息:卡塔琳娜服务酒店
尤尔。2014年9月4日下午4:42:57 org.apache.catalina.core.StandardEngine startInternal
信息:启动Servlet引擎:ApacheTomcat/8.0.9
尤尔。2014年9月4日下午4:43:02 org.apache.catalina.core.ApplicationContext日志
Infos:Log4jServletContainerInitializer在Servlet3.0+环境中启动Log4j。
尤尔。2014年9月4日下午4:43:03 org.apache.catalina.core.ApplicationContext日志
信息:在类路径上未检测到Spring WebApplicationInitializer类型
SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。
SLF4J:默认为无操作(NOP)记录器实现
SLF4J:参见http://www.slf4j.org/codes.html#StaticLoggerBinder 详情请参阅。
尤尔。2014年9月4日下午4:43:03 org.apache.catalina.core.ApplicationContext日志
Infos:初始化Spring根WebApplicationContext
尤尔。2014年4月9日下午4:43:04 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
信息:HH000204:正在处理PersistenceUnitInfo[
姓名:persistenceYous
...]
尤尔。2014年9月4日下午4:43:05 org.hibernate.Version日志版本
信息:hh000412:Hibernate核心{4.3.5.Final}
尤尔。2014年9月4日下午4:43:05 org.hibernate.cfg.Environment
信息:HH000206:找不到hibernate.properties
尤尔。2014年4月9日下午4:43:05 org.hibernate.cfg.Environment buildBytecodeProvider
信息:HH000021:字节码提供程序名称:javassist
尤尔。2014年4月9日下午4:43:06 org.hibernate.annotations.common.reflection.java.JavaReflectionManager
信息:HCANN000001:Hibernate Commons注释{4.0.4.Final}
尤尔。2014年9月4日下午4:43:06 org.hibernate.dialogue.dialogue
信息:HH000400:使用方言:org.hibernate.dialogue.mysql5dialogue
尤尔。2014年4月9日下午4:43:07 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory
信息:HH000397:使用ASTQueryTranslatorFactory
尤尔。2014年9月4日下午4:43:11 org.apache.catalina.core.ApplicationContext日志
Infos:Log4jServletContextListener确保Log4j正确启动。
尤尔。2014年9月4日下午4:43:11 org.apache.catalina.core.ApplicationContext日志
Infos:Log4jServletFilter已初始化。
尤尔。2014年9月4日下午4:43:11 org.apache.catalina.core.ApplicationContext日志
信息:初始化Spring FrameworkServlet“mvc dispatcher”
尤尔。2014年9月4日下午4:43:13 org.apache.coyote.AbstractProtocol开始
Infos:正在启动ProtocolHandler[“http-nio-8080”]
尤尔。2014年9月4日下午4:43:13 org.apache.coyote.AbstractProtocol开始
信息:启动ProtocolHandler[“ajp-nio-8009”]
尤尔。2014年9月4日下午4:43:13 org.apache.catalina.startup.catalina start
信息:服务器启动时间为15715毫秒
问题解决了,我认为错误来自于此
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
我必须将日志从slf4j
路由到log4j
,因为我认为Spring
使用slf4j
进行日志记录,所以我添加了log4j-slf4j-impl
jar,最后它工作了:-)
我更新我的问题并添加它们。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0-rc2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.0-rc2</version>
</dependency>