【问题标题】:Map JUL levels to AppEngine web console levels将 JUL 级别映射到 AppEngine Web 控制台级别
【发布时间】:2014-11-15 21:48:57
【问题描述】:

AppEngine Web 控制台允许过滤不同的日志级别:

  • 调试
  • 信息
  • 警告
  • 错误
  • 严重

AppEngine 使用 java.utils.logging (JUL),但 JUL 定义了与 Web 控制台中使用的日志级别不同的日志级别,即:

  • FINEST(最低值)
  • 更精细
  • 很好
  • 配置
  • 信息
  • 警告
  • 严重(最高值)

在代码中,这意味着在 INFO 或 WARING 处的日志记录效果很好。 LOG.info("一些信息消息); LOG.warning("一些警告信息");

注意我有 /logging.properties

# Set the default logging level for all loggers
.level = ALL

但是没有日志显示:来自

 LOG.fine("some fine message);
 LOG.finer("some finer message);
 LOG.finest("some finest message);

我应该编写什么代码来让日志显示在 Web 控制台的 DEBUG 中?

【问题讨论】:

  • 为什么在这个问题上打分?

标签: java google-app-engine java.util.logging


【解决方案1】:

有两种方式:

  1. 将以下内容添加到您的代码中:

        import java.util.logging.Level;
    
        .
        .
        .
        LOG.setLevel(Level.ALL);
    
        LOG.warning("Warning message logged");
        LOG.severe("severe debug message logged");
        LOG.info("info message logged");
        LOG.config("config message logged");
        LOG.fine("some fine message");
        LOG.finer("some finer message");
        LOG.finest("some finest message");
    
  2. 第二个选项是将您的 logging.properties 文件添加到 appengine-web.xml 建议 here:

  <!-- Configure java.util.logging -->
  <system-properties>
    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
  </system-properties>

注意它应该位于 WEB-INF 下或在之前的文件中更改该位置。

【讨论】:

  • 我不知道是谁标记了你。但这非常感谢。它看起来像配置,精细,精细,最好都映射到 DEBUG。
  • 是的,7 个标准 Java 级别仅包含在 GAE 中的 5 个中。但是通过配置 .level 您可以通过编程方式停用它们。
【解决方案2】:

仅供参考:

  • 调试:最好,更好,更好,配置。
  • 信息:信息。
  • 警告:警告。
  • 错误:严重。
  • CRITICAL:记录 Google App Engine 的严重错误,例如当未捕获的异常传播到导致 HTTP 500 服务器错误的 servlet 容器时。

【讨论】:

    猜你喜欢
    • 2012-07-12
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多