(仅限)设置GWT中RemoteLogHandler的日志记录级别
我们可以只为RemoteLogHandler设置日志记录级别吗(仅限)设置GWT中RemoteLogHandler的日志记录级别,gwt,logging,log4j,Gwt,Logging,Log4j,我们可以只为RemoteLogHandler设置日志记录级别吗 <inherits name="com.google.gwt.logging.Logging" /> <set-property name='gwt.logging.enabled' value='TRUE' /> <set-property name="gwt.logging.logLevel" value="**WARNING**"/> <set-property name="gwt.
<inherits name="com.google.gwt.logging.Logging" />
<set-property name='gwt.logging.enabled' value='TRUE' />
<set-property name="gwt.logging.logLevel" value="**WARNING**"/>
<set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED"/>
<set-property name='gwt.logging.popupHandler' value='ENABLED' />
//我们想要这个,但它不起作用:
<set-property name="gwt.logging.simpleRemoteHandler.logLevel" value="**SEVERE**"/>
?您可以轻松地从
SimpleRemoteLogHandler
继承并重写它的isLoggable
方法,如:
@Override
public boolean isLoggable(LogRecord record) {
return super.isLoggable(record) && record.getLevel() == Level.SEVERE;
}
然后,在模块的.gwt.xml
文件中,您将设置gwt以使用自己的SimpleRemoteLogHandler
替换。这将起作用,因为GWT使用GWT.create
来实例化它
<replace-with class="com.package.YourSimpleRemoteLogHandler">
<when-type-is class="com.google.gwt.logging.client.SimpleRemoteLogHandler" />
<any>
<when-property-is name="gwt.logging.enabled" value="TRUE" />
<when-property-is name="gwt.logging.simpleRemoteHandler" value="ENABLED" />
</any>
</replace-with>
您可以轻松地从
SimpleRemoteLogHandler
继承并重写它的isLoggable
方法,如:
@Override
public boolean isLoggable(LogRecord record) {
return super.isLoggable(record) && record.getLevel() == Level.SEVERE;
}
然后,在模块的.gwt.xml
文件中,您将设置gwt以使用自己的SimpleRemoteLogHandler
替换。这将起作用,因为GWT使用GWT.create
来实例化它
<replace-with class="com.package.YourSimpleRemoteLogHandler">
<when-type-is class="com.google.gwt.logging.client.SimpleRemoteLogHandler" />
<any>
<when-property-is name="gwt.logging.enabled" value="TRUE" />
<when-property-is name="gwt.logging.simpleRemoteHandler" value="ENABLED" />
</any>
</replace-with>
而不是使用
gwt.xml
配置(将gwt.logging.simpleRemoteHandler
属性设置为其默认的已禁用
),实例化并自己添加simpleRemoteHandler
:
SimpleRemoteLogHandler handler = new SimpleRemoteLogHandler();
handler.setLevel(Level.SEVERE);
Logger.getLogger("").addHandler(handler);
// Later...
Logger.getLogger("myLogger").log(Level.SEVERE, "A very important message.");
不要使用
gwt.xml
配置(将gwt.logging.simpleRemoteHandler
属性设置为其默认的已禁用
),而是自己实例化并添加simpleRemoteHandler
:
SimpleRemoteLogHandler handler = new SimpleRemoteLogHandler();
handler.setLevel(Level.SEVERE);
Logger.getLogger("").addHandler(handler);
// Later...
Logger.getLogger("myLogger").log(Level.SEVERE, "A very important message.");
另一种解决方案:(不会丢失任何日志,但可能会捕获一个或两个较低级别的日志)
另一种解决方案:(不会丢失任何日志,但可能会捕获一个或两个较低级别的日志)