10
A
回答
9
这里是一个简单的例子,添加日志处理程序的根记录器。记录器使用HTMLLogFormatter并将消息放入HTML小部件中。
也看看HasWidgetsLogHandler
,基本上做什么上面的例子中的处理程序。
17
查看用于记录日志的GWT文档here。这实际上取决于你希望日志出现在哪里,但是如果你只关心登录Dev模式,那么你只需要SystemLogHandler和DevelopmentModeLogHandler。 ConsoleLogHandler和FirebugLogHandler用于Web模式日志记录到chrome,firebug和firebug lite。 PopupLogHandler和HasWidgetsLogHandler将日志消息添加到某种UI元素。除了需要相关小部件容器的HasWidgetsLogHandler之外,上述所有应该可以在.gwt.xml中启用/禁用。这应该是可以通过添加以下:
<inherits name="com.google.gwt.logging.Logging"/>
<set-property name="gwt.logging.logLevel" value="SEVERE"/> # To change the default logLevel
<set-property name="gwt.logging.enabled" value="FALSE"/> # To disable logging
<set-property name="gwt.logging.consoleHandler" value="DISABLED"/> # To disable a default Handler
<set-property name="gwt.logging.developmentModeHandler" value="DISABLED" />
<set-property name="gwt.logging.popupHandler" value="DISABLED" />
<set-property name="gwt.logging.systemHandler" value="DISABLED" />
<set-property name="gwt.logging.firebugHandler" value="DISABLED" />
<set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED" />
etc...
4
这里有两个班我最终使用:
import java.util.Date;
import java.util.logging.LogRecord;
import com.google.gwt.logging.impl.FormatterImpl;
public class LogFormatter extends FormatterImpl {
private static final StringBuilder sb = new StringBuilder();
@Override
public String format(LogRecord rec) {
synchronized (sb) {
sb.setLength(0);
sb.append(new Date(rec.getMillis()).toString());
sb.append(": ");
sb.append(rec.getMessage());
sb.append("\n");
return sb.toString();
}
}
}
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ALog {
/* IMPORTANT: User blank string (root logger) here or else it WILL NOT have the formatter being used */
private static final Logger logger = Logger.getLogger("");
static {
for (Handler handler : logger.getHandlers()) {
handler.setFormatter(new LogFormatter());
handler.setLevel(Level.ALL);
}
}
public static void log(String msg) {
logger.log(Level.INFO, msg);
}
public static void log(String msg, Throwable e) {
logger.log(Level.INFO, msg, e);
}
}
相关问题
- 1. (仅限)在GWT中设置RemoteLogHandler的日志记录级别
- 2. 设置Cassandra日志记录位置
- 3. 设置GCS桶中的日志记录
- 4. 设置日志记录级别
- 5. log4net的设置日志记录
- 6. mrjob:在EMR上设置日志记录
- 7. 另一个Python日志记录设置
- 8. 移动GWT日志记录窗口
- 9. GWT 2.7日志记录不工作
- 10. Python日志记录+ webassets + cssutils:为cssutils设置日志级别
- 11. 基于日志记录级别的SpringBoot日志记录配置
- 12. JBoss日志记录配置
- 13. 日志记录位置
- 14. Powershell命令设置IIS日志记录设置
- 15. Python日志记录 - 将日期设置为文件名
- 16. 使用Jetty和log4j设置外部webapp日志记录配置
- 17. 如何在spring java配置中设置日志记录属性?
- 18. NHibernate:日志记录
- 19. WebService日志记录
- 20. MongoDB日志记录
- 21. Sugarcrm日志记录
- 22. SynchronizationLockException +日志记录
- 23. Couchdb日志记录
- 24. 日志记录web.ctx
- 25. 日志记录iisreset
- 26. Eazfuscator.NET日志记录?
- 27. BlackBerry日志记录
- 28. 日志记录设施和Qt
- 29. 城堡温莎日志记录设施
- 30. .NET日志记录框架设计
感谢Hilbrand。你知道是否可以使用gwt.xml文件中的属性进行相同的设置? – 2011-01-26 17:24:20
您的意思是在gwt.xml文件中禁用日志记录时,编译gwt时不会生成日志记录代码? – 2011-01-26 17:39:23