日志如下:
[INFO] org.springframework.web.context.ContextLoader,2016-07-26 19:22:29,865,Root WebApplicationContext: initialization started
[INFO] org.springframework.web.context.ContextLoader,2016-07-26 19:22:29,865,Root WebApplicationContext: initialization started
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,141,Initializing new StandardServletEnvironment
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,141,Initializing new StandardServletEnvironment
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,144,Adding [servletConfigInitParams] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,144,Adding [servletConfigInitParams] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,145,Adding [servletContextInitParams] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,145,Adding [servletContextInitParams] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,160,Adding [jndiProperties] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,160,Adding [jndiProperties] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,161,Adding [systemProperties] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,161,Adding [systemProperties] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,161,Adding [systemEnvironment] PropertySource with lowest search precedence
[DEBUG] org.springframework.web.context.support.StandardServletEnvironment,2016-07-26 19:22:30,161,Adding [systemEnvironment] PropertySource with lowest search precedence
全部输出2次,感觉像是项目启动了2次一样.
log4j.xml配置如下:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p] %c,%d{yyyy-MM-dd HH🇲🇲ss,SSS},%m%n"/>
</layout>
</appender>
<appender name="DEBUG_FILE_LOG" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="true"/>
<param name="encoding" value="UTF-8"/>
<param name="file" value="F:/Log/javawc-web-debug.log"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="10000"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%p] %c,%d{yyyy-MM-dd HH🇲🇲ss,SSS},%m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
</filter>
</appender>
<appender name="ERROR_FILE_LOG" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="true"/>
<param name="encoding" value="UTF-8"/>
<param name="file" value="F:/Log/javawc-web-error.log"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="1000"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%p] %c,%d{yyyy-MM-dd HH🇲🇲ss,SSS},%m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
</filter>
</appender>
<logger name="java.sql" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="java.sql.Statement" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="java.sql.PreparedStatement" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="java.sql.ResultSet" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="java.sql.Connection" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="java.lang.SecurityException">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.springframework" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.apache.ibatis" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<!--OFF-->
<category name="org.apache" additivity="true">
<priority value="ON"/>
</category>
<category name="com.javawc.service" additivity="true">
<priority value="DEBUG"/>
</category>
<root>
<priority value="DEBUG"/>
<appender-ref ref="ERROR_FILE_LOG"/>
<appender-ref ref="DEBUG_FILE_LOG"/>
<appender-ref ref="CONSOLE"/>
</root>
</log4j:configuration>
因为项目启动之后报错了, 异常如下:
Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 73; 文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"。
我查找资料说因为重复加载了某个XML导致的,所以大神帮我定位一下,上面打印日志重复是log4j的配置问题导致打印了2遍,还是项目有别的问题导致启动了2次呢.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
因为配置了这一段:
<loggername="org.springframework"additivity="true"><levelvalue="DEBUG"/><appender-refref="CONSOLE"/></logger>所以 org.springframework.web.context.ContextLoader就打印了日志。
而且还配置了 additivity="true",所以还会找上一级日志: org.springframework.web.context,
没有的话,再找org.springframework.web,依此类推,找到org都没有,再往上找就是root了。
<root><priorityvalue="DEBUG"/><appender-refref="ERROR_FILE_LOG"/><appender-refref="DEBUG_FILE_LOG"/><appender-refref="CONSOLE"/></root>root你已经配置了,所以又打印了
因为配置了这一段:
<loggername="org.springframework"additivity="true"><levelvalue="DEBUG"/><appender-refref="CONSOLE"/></logger>所以 org.springframework.web.context.ContextLoader就打印了日志。
而且还配置了 additivity="true",所以还会找上一级日志: org.springframework.web.context,
没有的话,再找org.springframework.web,依此类推,找到org都没有,再往上找就是root了。
<root><priorityvalue="DEBUG"/><appender-refref="ERROR_FILE_LOG"/><appender-refref="DEBUG_FILE_LOG"/><appender-refref="CONSOLE"/></root>root你已经配置了,所以又打印了