Я работаю на приложение, которое регистрирует с помощью SLF4J API:Как сделать java.util.logging отправлять журналы в журнал?
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, выполненный в виде следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%d{HH:mm:ss.SSS}] [%thread] [%-5level %logger{26} - %msg]%n
</pattern>
</encoder>
</appender>
<root>
<level value="debug" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
Некоторые из нашего кода использует 3-библиотеки сторонних, что журналы с java.util.logging - специально FreeMarker. Как вы можете видеть из следующих записей журнала консоли, как Logback и июль регистрируются на консоль, но они не используют один и те же конфигурации (запись Logback использовать наш шаблон, то они это делают июли не)
[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 logging использовал конфигурацию logback, чтобы у нас была единственная согласованная конфигурация ведения журнала для всего приложения?
Возможный дубликат [java.util.logging.Logger для ведения журнала с использованием SLF4J?] (http://stackoverflow.com/questions/6020545/java-util-logging-logger -to-logback-using-slf4j) – Berger