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