如何在 Eclipse Scout 框架中设置不同的日志级别?

How to set different log levels in Eclipse Scout framework?

我在 Eclipse Scout 框架中配置正确的日志记录时遇到了一些问题。我的要求并没有那么高,因为我只想能够在 configuration/properties/XML 文件中为程序的不同部分设置不同的日志级别。 我的 Scout 服务器插件 config.ini 中的日志记录配置目前如下所示:

eclipse.consoleLog=true
org.eclipse.scout.log=eclipse
org.eclipse.scout.log.level=INFO

如您所见,这是使用 Eclipse 日志记录的默认日志记录配置。它适用于在全球范围内进行日志记录。我唯一想做的就是写这样的东西来设置不同的日志级别:

packagename.ClassName=LOGLEVEL

由于这是一个非常基本的日志记录用例,我认为在 Scout 中一定有一些简单的方法可以做到这一点。否则我将不胜感激如何配置 log4j、JUL 或其他与 Scout 一起使用的帮助。到目前为止,Eclipse Scout Wiki 对我没有帮助。我为主机插件 'org.eclipse.scout.commons' 创建了示例记录器片段,并从我的 config.ini 中删除了日志记录配置行,但没有任何反应。我也不确定将 log4j.poperties 放在哪里或如何完成。

对于无法解决这样一个基本问题,我感到有点惭愧,但如果能得到一些快速帮助,我会非常高兴。

如果您选择 java 记录器(config.ini:org.eclipse.scout.log=java),我可以告诉您如何配置日志记录。 对于eclipse logger,我几乎找不到任何信息。

现在,要配置 java (JUL) 日志记录:您可以在名为 logging.properties.

的文件中执行此操作

您可以通过在您的产品中指定配置文件来配置日志记录:

  1. 创建您的配置文件 - 在您的产品文件(分别用于服务器或客户端)所在的文件夹中说 logging.properties。通常这位于名为 'products'.
  2. 的文件夹中
  3. 打开您的产品文件并转到 "Launching" 选项卡并在 "VM Arguments" 选项卡中指定您的日志记录配置文件。使用 "java.util.logging.config.file" 系统 属性 这样做:

-Djava.util.logging.config.file="${resource_loc:/com.yourapp.server/products/logging.properties}"

现在,您应该能够在新的 logging.properties 文件中指定日志级别:

### Root level of your application, all below are ignored
.level=INFO
### Handlers
handlers=java.util.logging.ConsoleHandler
### Handler properties
java.util.logging.ConsoleHandler.level=FINEST
### Override the logging level for certain classes
com.yourapp.server.SomeService.level=FINE

或者,您也可以使用 class 通过 java.util.logging.config.class 选项初始化日志记录。有关详细示例,请参阅 this wiki page

此外,在构建 WAR 文件时,您可能对 this answer.

感兴趣