【问题标题】:Apache commons logging configurationApache 公共日志记录配置
【发布时间】:2011-12-29 07:36:27
【问题描述】:

我对 java 日志记录机制还很陌生,现在我正在尝试为我的项目使用 apache commons logging。这是一个 Java EE 项目,EAR 文件部署到 WebLogic 服务器。基本上,我想使用 java.util.logging 实现,并且我有 commons-logging.properties 文件定义如下

handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler

java.util.logging.FileHandler.pattern = testLog.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.FileHandler.level=SEVERE

java.util.logging.ConsoleHandler.level=SEVERE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

对于打包,我已将 commons-logging.properties 文件放入我的 EAR 文件的 lib 目录中。但是,我的所有登录输出都打印到控制台而不是配置中指定的日志文件。任何人都可以提供任何建议还是我错过了配置中的任何内容?

【问题讨论】:

  • 是的,使用 slf4j + logback logback.qos.ch
  • 同意@Bozho,选择 slf4j。不要在 java.util.logging 上浪费时间——logback 很棒。
  • @Kyle Mahan,您已经证明了为什么不使用 java.util.logging 与 SLF4J 的声明。
  • @Vladislav Bauer,我知道 SLF4J 的用途。我的发言只是为了让凯尔打开思路,提出建设性的意见,而不仅仅是“陈述”。

标签: java apache logging apache-commons-logging


【解决方案1】:

根据user guide,commons-logging.properties 必须存在于 CLASSPATH 中。

【讨论】:

  • 是的,这就是我将属性文件放在 EAR 文件的 lib 目录中的原因。对此有何建议?
  • 我建议将它移到类中,然后在作为流拉取时在 ClassLoader 中找到它。
  • 这个问题解决了吗?我在其他日志库上使用它,因为我使用的是 pdfbox,它使用它。但我的属性文件根本没有被检测到。我该如何更改?
  • @user2223059 请提出另一个 SO 问题,指定您的项目结构并发布您的应用程序抛出的任何异常。
【解决方案2】:

尝试将“common-logging.properties”文件重命名为“commons-logging.properties”。

【讨论】:

  • 抱歉打错了 :D 文件名是 commons-logging.properties。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2011-11-05
  • 2017-05-18
  • 1970-01-01
  • 2017-07-10
  • 2018-07-02
相关资源
最近更新 更多