【问题标题】:GWT Logger: No control over debug output?GWT Logger:无法控制调试输出?
【发布时间】:2015-09-07 11:49:41
【问题描述】:

我的 client.gwt.xml 文件中有以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module rename-to='client'>

    <inherits name="com.mz.client.app" />

    <source path="client"/>

    <inherits name="com.google.gwt.logging.Logging"/>

    <set-property name="gwt.logging.logLevel" value="FINER"/>
    <set-property name="gwt.logging.enabled" value="TRUE"/>
    <set-property name="gwt.logging.consoleHandler" value="ENABLED"/>

</module>

我正在尝试记录以下内容:

    LOGGER.info("INFO");
    LOGGER.fine("FINE");
    LOGGER.warning("WARNING");
    LOGGER.severe("SEVERE");

但我的萤火虫控制台中唯一显示的是 SEVERE 消息:

Mon Sep 07 13:44:09 GMT+200 2015 com.mz.client.App 
SEVERE: SEVERE

为什么我没有收到其他日志消息?


我已经将logging.properties中的java.util.logging.ConsoleHandler.level设置为FINE

# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

编辑:

现在即使没有这些行之一,它也可以工作

<!--    <set-property name="gwt.logging.logLevel" value="FINER"/> -->
<!--    <set-property name="gwt.logging.enabled" value="TRUE"/>  -->
<!--    <set-property name="gwt.logging.consoleHandler" value="ENABLED"/> -->

我删除了这些行,清理了我的项目并启动了 Apache 服务器,并且出于某种神奇的原因,我收到了调试输出。

变化

<set-property name="gwt.logging.logLevel" value="FINER"/> 

<set-property name="gwt.logging.logLevel" value="INFO"/> 

不改变输出。我将所有消息发送到FINER。设置

<set-property name="gwt.logging.enabled" value="FALSE"/> 

现在不会删除调试输出。仍然得到一切。

我想控制我的调试输出..

【问题讨论】:

  • 希望对您有所帮助:stackoverflow.com/questions/28660021/…
  • @ElHoss 嗨!感谢您的链接,但我的 .gwt.xml 文件似乎被完全忽略了。目前我正在获得调试输出 - 虽然不知道为什么 - 但我现在无法将其关闭并且我无法控制调试级别..
  • 您提到的 logging.properties 文件可能与 GWT 中的某些内容冲突。我认为不应该使用它。
  • 能否添加完整的 gwt.xml 文件,gwt 版本?您是否遇到了 DevMode 或 SuperDevMode 或生产模式的问题?
  • @Mohit 没什么可补充的,但我已经把它放在我的问题上。

标签: java logging gwt


【解决方案1】:

将此添加到您的 module.gwt.xml

<set-property name="gwt.logging.enabled" value="TRUE" />

【讨论】:

  • 检查!谢谢!但是知道为什么&lt;set-property name="gwt.logging.logLevel" value="INFO"/&gt; 不起作用吗?我仍然收到FINERFINE 级别的消息.. :/
  • 好的,我不确定这是否是解决方案。删除 &lt;set-property name="gwt.logging.enabled" value="TRUE" /&gt; 现在仍然对我有用 - 不知道为什么,但即使没有那条线也是如此。
  • 尽量不要使用logging.properties 文件并且在module.gwt.xml 中只使用gwt.logging.logLevel 属性。根据GWT Documentation,这应该足够了。
  • 我怎样才能使用这个文件?我已将其设置回默认 .level= INFOjava.util.logging.ConsoleHandler.level = FINE。不幸的是,仅使用gwt.logging.logLevel 不会改变任何东西。我不知道这里到底发生了什么.. :/
  • 我的意思是:让它尽可能简单。 GWT documentation 中有一个最小的示例。只需继承com.google.gwt.logging.Logging 并使用gwt.logging.logLevel 属性来控制调试输出。没有更多的必要了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多