我需要使用调试语句检测一系列 .wsf 和 .vbs 文件;在我自己动手之前,WSF/VBScript 是否存在类似 log4j 的东西?
3 回答
无法与 log4j 相比,但您可以使用以下内容开始:
VBScript 中的可重用日志记录 - LogToFile.vbs
任何您想在脚本中记录消息的地方,您只需添加 LogToFile "Your Message" 以记录相关信息。
使用此脚本,您可以记录开始脚本的日期和时间、任何特定事件的日期和时间,并在您想安排脚本运行时间时生成唯一的文件名。在不编辑整个日志记录部分的情况下关闭日志记录也很简单。
如果要写入事件日志,可以使用WshShell 对象来完成。它提供了将事件记录到应用程序事件日志的 LogEvent 方法。
LogEvent 方法使您能够从脚本中写入事件日志。LogEvent 有两个必需的参数。LogEvent 方法的第一个参数是一个整数,它指定您希望脚本记录的事件类型。
Set objShell = WScript.CreateObject("Wscript.Shell")
objShell.LogEvent 0,"Test Success Event"
objShell.LogEvent 1,"Test Error Event"
objShell.LogEvent 2,"Test Warning Event"
objShell.LogEvent 4, "Test Information Event"
objShell.LogEvent 8, "Test Success Audit Event"
objShell.LogEvent 16, "Test Failure Audit Event"
请参阅Microsoft TechNet站点上的此处。
由于我的主程序是Windows 脚本文件(.wsf) 脚本,因此我可以包含和使用来自其他脚本语言的代码。
我找到了Log4js: JavaScript logging framework,它以 Log4j 为模型,对我来说非常好用。我必须添加自己的 Appender 来记录到stderr
and stdout
,但这比从头开始创建自己的日志框架要容易得多。
更新:2009 年 2 月 13 日:
Log4js:我第一次尝试的 JavaScript 日志框架,结果证明它有点消耗资源。我在http://log4js.sourceforge.net/找到了另一个 JavaScript Log4js 实现,它更加稳定和高效。