freemarker log4j警告


log4j:WARN No appenders could be found for logger (freemarker.cache).

log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

因为freemarker只依赖了log4j,不支持log4j2,所以必须在classpath中加上log4j.properties,否则就会出现上述警告。

# freemarker专用 Global logging configuration 这个配置是调试用的配置,生产环境要改成INFO或更高级别
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

 

加上后如下:

2020-01-01 12:03:08 [ http-nio-8080-exec-1:0 ] - [ DEBUG ] Couldn't find template in cache for "system/login.html"("zh_CN", UTF-8, parsed); will try to load it.
2020-01-01 12:03:08 [ http-nio-8080-exec-1:2 ] - [ DEBUG ] TemplateLoader.findTemplateSource("system/login_zh_CN.html"): Not found
2020-01-01 12:03:08 [ http-nio-8080-exec-1:18 ] - [ DEBUG ] TemplateLoader.findTemplateSource("system/login_zh.html"): Not found
2020-01-01 12:03:08 [ http-nio-8080-exec-1:19 ] - [ DEBUG ] TemplateLoader.findTemplateSource("system/login.html"): Found
2020-01-01 12:03:08 [ http-nio-8080-exec-1:19 ] - [ DEBUG ] Loading template for "system/login.html"("zh_CN", UTF-8, parsed) from "class path resource [templates/system/login.html]"
2020-01-01 12:03:09 [ http-nio-8080-exec-1:142 ] - [ DEBUG ] "system/login.html"("zh_CN", UTF-8, parsed) cached copy not yet stale; using cached.

 

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/apache-maven-3.5.3/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/apache-maven-3.5.3/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.11.0/log4j-slf4j-impl-2.11.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
log4j:WARN No appenders could be found for logger (org.apache.commons.configuration.PropertiesConfiguration).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

log4j和log4j2并存的原因,不过不影响。

 

还有一个,日志打印两份,如下:

13:26:01.369 [main] DEBUG org.mybatis.spring.transaction.SpringManagedTransaction - Committing JDBC Connection [oracle.jdbc.driver.T4CConnection@426e165f jdbc:oracle:thin:@10.20.39.223:1521:ta19c c##hs_global]
13:26:01.376 [main] DEBUG org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4d5aa20b]
13:26:01.376 [main] DEBUG org.mybatis.spring.transaction.SpringManagedTransaction - 释放JDBC连接[oracle.jdbc.driver.T4CConnection@426e165f]

[] 2020-07-19 13:25:59 [50321] [c.h.t.b.c.SyncManager]-[INFO] main com.hundsun.ta.base.cdc.SyncManager.afterPropertiesSet(SyncManager.java:198) 生产端表列表:{}
13:25:59.697 [main] INFO com.hundsun.ta.base.cdc.SyncManager - 生产端表列表:{}
[] 2020-07-19 13:25:59 [50322] [c.h.t.b.c.SyncManager]-[INFO] main com.hundsun.ta.base.cdc.SyncManager.afterPropertiesSet(SyncManager.java:202) CDC生产端同步信息加载成功!
13:25:59.698 [main] INFO com.hundsun.ta.base.cdc.SyncManager - CDC生产端同步信息加载成功!

  可以确定第一个是正确的,三方库的也是对的。就是自己log4j2打的多一行,跟log4j.properties、log4j2.xml的配置都不同,且也不是配置的格式。原因是子Logger会继承父Logger的appender,如下:

        <Logger name="com.xxx.xx" level="INFO" additivity="true">
            <AppenderRef ref="serviceFile" />
            <AppenderRef ref="service_error" />
            <AppenderRef ref="CONSOLE" />
        </Logger>

  所以只要去掉com.xxx.xx下的<AppenderRef ref="CONSOLE" />就可以了,具体解释参见https://blog.csdn.net/ctwen/article/details/83764941。至于为什么打出来格式又不一样,这个未仔细研究。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM