使用Coldfusion将事件写入Windows事件日志

5

是否有一种方式(内置或使用ColdFusion安装的基础Java库),可以使ColdFusion 10应用程序将消息写入Windows事件日志?

1个回答

7
你可以使用Log4J来实现这个功能。还有一个DLL文件需要放置在Windows文件系统的路径上(根据您的环境而定)。有关详细信息,请参见NTEventLogAppender类:
由于Hibernate使用Log4J,因此Log4J将与您的构建一起打包。但是,您可能需要根据我上面提到的DLL进行一些额外的配置(也在引用的javadocs中指出)。
您还可以查看Log4jna,它具有与Log4J不同的本机附加程序。使用此库将不需要您处理Log4J的DLL依赖项。 尽管如此,CF10并没有使用此功能。 这超出了您的问题范围,但仍然可以考虑。
以下是您可以潜在使用的代码示例(参考PatternLayout):
oLogger = createObject("java", "org.apache.log4j.Logger");
oNTAppender = createObject("java", "org.apache.log4j.nt.NTEventLogAppender");
oLayout = createObject("java", "PatternLayout").init("[%c][%l][%p][%thread]: %m%n");

// create the appender with your source and layout
oNTAppender = oNTAppender.init("[your source text]", oLayout);

// add this appender to the logger
oLogger.addAppender(oNTAppender);

谢谢!我将尝试使用Log4jna来保持简单。 - rodmunera

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接