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

rod*_*era 5 coldfusion event-log coldfusion-10

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

Tri*_*Lee 7

您可以使用Log4J来完成此任务.还有一个DLL需要放在Windows文件系统的PATH上(取决于您的环境).有关详细信息,请参阅NTEventLogAppender类:

由于Hibernate使用它,Log4J将与您的构建打包在一起.但是,您可能需要根据我上面提到的DLL进行一些额外的配置(在引用的javadoc中也有说明).

您还可以查看Log4jna,它具有与Log4J不同的原生appender.使用这个库不需要你搞乱Log4J的DLL依赖.但这并不适用于CF10.这超出了您的问题的范围,但仍然可以考虑.

如果你坚持使用Log4J(参考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);
Run Code Online (Sandbox Code Playgroud)