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。至于为什么打出来格式又不一样,这个未仔细研究。

posted @   zhjh256  阅读(3907)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2017-01-01 浏览器对localstorage的支持情况以及localstorage在saas系统中的应用实践思考
点击右上角即可分享
微信分享提示