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. mrjob:在EMR上設置日誌記錄
- 4. 設置日誌記錄級別
- 5. log4net的設置日誌記錄
- 6. 日誌記錄設置最佳實踐
- 7. 設置GCS桶中的日誌記錄
- 8. 另一個Python日誌記錄設置
- 9. GWT 2.7日誌記錄不工作
- 10. 移動GWT日誌記錄窗口
- 11. Python日誌記錄+ webassets + cssutils:爲cssutils設置日誌級別
- 12. 基於日誌記錄級別的SpringBoot日誌記錄配置
- 13. omnet ++:配置日誌記錄
- 14. JBoss日誌記錄配置
- 15. 日誌記錄位置
- 16. Django - 日誌記錄配置
- 17. 如何在GWT日誌記錄中配置類特定的日誌級別?
- 18. GWT遠程日誌記錄不能記錄Throwable Stacktrace?
- 19. Java日誌記錄:它是日誌還是日誌記錄器?
- 20. Powershell命令設置IIS日誌記錄設置
- 21. Scrapy日誌記錄:配置日誌重寫日誌文件
- 22. Python日誌記錄 - 將日期設置爲文件名
- 23. 如何在spring java配置中設置日誌記錄屬性?
- 24. 使用Jetty和log4j設置外部webapp日誌記錄配置
- 25. Couchdb日誌記錄
- 26. SynchronizationLockException +日誌記錄
- 27. NHibernate:日誌記錄
- 28. MongoDB日誌記錄
- 29. Sugarcrm日誌記錄
- 30. Eazfuscator.NET日誌記錄?
感謝Hilbrand。你知道是否可以使用gwt.xml文件中的屬性進行相同的設置? – 2011-01-26 17:24:20
您的意思是在gwt.xml文件中禁用日誌記錄時,編譯gwt時不會生成日誌記錄代碼? – 2011-01-26 17:39:23