我正在使用log4javascript来记录和跟踪我的JavaScript代码中的问题。我以前见过类似的日志记录辅助工具,但我很难理解应该如何使用这些日志级别更有用和更有效。
大多数情况下,我最终都会记录调试,信息或跟踪,而不是真正意识到它们的效率与否。随着代码变得越来越大,它变得越来越难,我觉得日志比帮助更麻烦。
有人可以给我一些指导/帮助,以便我可以很好地使用记录机制。
以下是log4javascript支持的不同日志级别:
log4javascript.Level.ALL
log4javascript.Level.TRACE
log4javascript.Level.DEBUG
log4javascript.Level.INFO
log4javascript.Level.WARN
log4javascript.Level.ERROR
log4javascript.Level.FATAL
答案 0 :(得分:15)
我是log4javascript的作者,我每天都在工作中使用它。这是我如何使用它:
debug()
和trace()
。我在尝试寻找错误时使用trace()
来记录低级别操作,并使用debug()
来更一般地记录程序流。我将控制台阈值设置为DEBUG
以进行常规编码,这样我就没有跟踪日志混乱的跟踪消息,然后在需要查看跟踪消息时将其切换到ALL
。 LI>
info()
相当多,通常是为了让特定的消息在日志记录控制台中脱颖而出。group()
(请参阅http://log4javascript.org/docs/manual.html#loggers)对特定操作的日志记录进行分组,并允许我扩展和折叠日志记录块。组也可以嵌套。例如:
var component1 = (function() {
var log = log4javascript.getLogger("MyApp.Components.Component1");
// Implementation stuff
})();
var component2 = (function() {
var log = log4javascript.getLogger("MyApp.Components.Component2");
// Implementation stuff
})();
在日志记录初始化代码中:
// Create a console appender that is inherited by all loggers
var appender = new log4javascript.PopUpAppender();
appender.setThreshold(log4javascript.Level.DEBUG);
// Limit the number of messages displayed in the console at any one time
appender.setMaxMessages(2000);
log4javascript.getRootLogger().addAppender(appender);
// Disable all logging except ERROR and FATAL for the "MyApp.Components"
// logger and all its descendants (including "MyApp.Components.Component1" and
// "MyApp.Components.Component2")
log4javascript.getLogger("MyApp.Components").setLevel(log4javascript.Level.ERROR);
这些东西对于所有log4x日志记录框架都是通用的,因此将适用来自log4j或log4net的文档。例如,旧的但仍然相关的log4j short manual可能有所帮助。