当前位置:  开发笔记 > 编程语言 > 正文

如何让java.util.logging发送日志到Logback?

如何解决《如何让java.util.logging发送日志到Logback?》经验,为你挑选了1个好方法。

我正在开发一个使用slf4j api记录的应用程序:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

...

private static final Logger LOG = LoggerFactory.getLogger(FreemarkerEmailPreviewGenerator.class);

...

LOG.error("Error generating email preview", e);

(上面的代码贴出来显示正在使用的类和包,但非常标准的东西.)

我们使用如下配置的logback:




    
        
            [%d{HH:mm:ss.SSS}] [%thread] [%-5level %logger{26} - %msg]%n
            
        
    

    
        
        
    


我们的一些代码使用了使用java.util.logging记录的第三方库 - 特别是freemarker.从下面的控制台日志条目中可以看出,logback和jul都记录到控制台,但它们没有使用相同的配置(使用我们的模式的logback条目,jul不使用)

[12:24:38.842] [pool-2-thread-19] [INFO  u.o.n.r.l.s.e.t.TemplateLoaderFromService - Finding template workflow/mail/templates/common/workflow-macros.ftl]
[12:24:38.859] [pool-2-thread-19] [INFO  u.o.n.r.l.s.e.t.TemplateLoaderFromService - Loaded template workflow/mail/templates/common/workflow-macros.ftl as /workflow/mail/templates/common/workflow-macros.ftl from RegistryMailTemplateService.]
11-Jan-2017 12:24:38 freemarker.log.JDK14LoggerFactory$JDK14Logger error
SEVERE:

Expression domainContact is undefined on line 9, column 74 in workflow/mail/templates/common/workflow-macros.ftl.
The problematic instruction:
----------
==> ${domainContact.name} [on line 9, column 72 in workflow/mail/templates/common/workflow-macros.ftl]

是否有可能使jul日志记录使用logback配置,以便我们为整个应用程序提供一个一致的日志记录配置?



1> 小智..:

您的应用程序需要具有以下罐子:

应用程序 - > Freemarker - > java.util.logging - > SLF4J Api:jul-to-slf4j.jar

应用程序 - > SLF4J API:slf4j-api.jar

SLF4J API - > logback:logback-classic.jar和logback-core.jar

由于您的应用程序已经包含slf4j-api.jar和logback-classic.jar,您可能只需要添加jul-to-slf4j.jar

如果你使用maven:


    org.slf4j
    jul-to-slf4j
    1.7.22



    ch.qos.logback
    logback-classic
    1.1.8

logback classic将传递添加logback-core和slf4j-api


是的,你的答案与重复问题的链接相结合,帮助我实现了这个目标.我需要jul-to-slf4j并使用SLF4JBridgeHandler.removeHandlersForRootLogger()启用桥接器; 和SLF4JBridgeHandler.install();
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有