0

我目前在 J2EE 环境 (JBoss) 中使用 ColdFusion 8.01,并希望清理写入日志的内容。目前 ColdFusion 将所有内容记录到 STDOUT,而不是使用像 commons 或 log4j 这样的适当记录器。有没有人设法改变这一点?也许您可以设置一些隐藏的属性,或者将 log4j.properties 隐藏在某个位置。由于 ColdFusion 具有 CFLog(输出到 STDOUT),因此我希望尽可能通过 commons 查看该输出。

4

2 回答 2

2

嘿 Daniel - CF 实际上确实使用 log4j 作为它的内部日志记录,并且如果你不喜欢它默认的逗号分隔模式,它有一个配置可以让你编辑布局模式。

您可以在“neo-logger.xml”中编辑模式,

{your_deployment}/cfusion-war/WEB-INF/cfusion/lib/neo-logger.xml

不幸的是,您可以编辑的其他属性并不多。您也许可以覆盖同一目录下“logger.xml”文件中的根记录器设置,我没有任何运气尝试。在过去,我用它来定义我们用 CF 加载的自定义和第三方 jar 的 log4j 设置。

希望这可以帮助。

于 2009-06-04T00:38:14.243 回答
1

我们将 log4j 与 CF 8 一起使用,效果很好。但是,我们使用的是独立配置。不知道这是否会有很大帮助,但无论如何你都去了......

您需要做的就是将log4j.jar文件放入 CFlib目录或存储在 CF 类路径中适合您的任何其他目录。完成此重启 CF 后,您通常可以执行以下操作:

<!--- Create logger --->
<cfset objLoggerCategory = CreateObject("java", "org.apache.log4j.Category") />
<cfset objLogger = objLoggerCategory.getInstance("MY-LOGGER-XML-HOOK") />
<cfset objLogger.debug("Hello World!") />

显然,您需要配置 Xml 文件,但网上有很多这样的例子。

我还没有重写 CF 日志以通过 log4j 运行。也就是说,如果这有帮助,您可以将 CF 日志定向到您喜欢的任何目录。这在 CF 管理员中可用:调试和日志记录 > 日志记录设置。

干杯。

于 2009-06-02T13:16:58.370 回答