【发布时间】:2015-12-06 23:08:47
【问题描述】:
我正在尝试让 DropWizard 记录到输出文件。正在创建文件,但没有写入任何内容。
实际上,提供的 .yml 文件中的配置似乎没有被使用。
我在启动过程中也收到以下警告,不确定它们是否相关:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/conor/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/conor/.m2/repository/com/conor/project/project-common/0.1-SNAPSHOT/project-common-0.1-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
如何让 dropwizard 获取启动时提供的 yml 中的日志记录配置,以及如何确定当前配置的来源?谢谢。
更新::
我正在运行 DropWizard v0.9.1,我的日志配置如下:
# Logging settings.
logging:
# The default level of all loggers. Can be OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL.
level: TRACE
# Logger-specific levels.
loggers:
# Sets the level for 'com.example.app' to DEBUG.
io.dropwizard: INFO
# Redirects SQL logs to a separate file
org.hibernate.SQL:
level: DEBUG
# Logback's Time Based Rolling Policy - archivedLogFilenamePattern: /tmp/application-%d{yyyy-MM-dd}.log.gz
# Logback's Size and Time Based Rolling Policy - archivedLogFilenamePattern: /tmp/application-%d{yyyy-MM-dd}-%i.log.gz
# Logback's Fixed Window Rolling Policy - archivedLogFilenamePattern: /tmp/application-%i.log.gz
appenders:
- type: console
- type: file
threshold: DEBUG
logFormat: "%-6level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %X{code} %msg %n"
currentLogFilename: output/logs/dropwizard.txt
archivedLogFilenamePattern: output/logs/dropwizard-%d{yyyy-MM-dd}-%i.txt.gz
archivedFileCount: 10
timeZone: UTC
maxFileSize: 10MB
【问题讨论】:
-
你能分享你的日志配置吗?
-
还有dropwizard的版本
-
大家好,我添加了更多信息。谢谢。
-
嘿,我已将您的配置 1 对 1 添加到我的项目中,并且我在日志记录方面完全没有问题。坦率地说,trace 太垃圾了,我以为我的电脑自己死了。您是否尝试过从项目中排除其中一个 SL4J 绑定?据我所知,dropwizard 与 logback 一起使用。第二个绑定是什么?看起来您正在尝试实现自己的日志记录:project-common-0.1-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class ?
-
顺便说一句,如果你的文件被创建,它显然是在拾取你的 yaml 配置。能否通过:DefaultLoggingFactory 进行调试。特别是 configure 方法,这是您应该设置记录器的地方。你可以确切地看到它在那里做什么。让我知道你发现了什么,我相信我们可以解决这个问题:)
标签: java logback dropwizard