无法在应用程序目录上创建日志文件?

时间:2014-06-30 06:51:09

标签: coldfusion

我想为我的应用程序编写一个日志文件。我想要存储文件的路径是:

destination::"C:\ColdFusion8\wwwroot\autosyn\logs"

我使用下面的示例生成日志文件:

<cfset destination = expandPath('logs')>
<cfoutput>destination::"#destination#"</cfoutput><br/>
<cflog file='#destination#/test' application="yes" text="Running test log.">

当我提供完整路径时,它没有创建日志文件。当我删除目的地并仅提供文件名时,日志将在ColdFusion服务器路径C:\ ColdFusion8 \ logs中生成。

如何在我的应用程序目录中生成日志文件?

2 个答案:

答案 0 :(得分:4)

根据cflog标签规范,以下是属性文件的说明:

  

消息文件。仅指定文件名的主要部分。例如,   要登录Testing.log文件,请指定“Testing”。   文件必须位于默认日志目录中。 你不能   指定目录路径。如果该文件不存在,则创建该文件   自动,扩展名为.log。

您可以使用cffile标记将信息写入自定义文件夹。

答案 1 :(得分:3)

来自<cflog>的文档:

  

文件

     

可选

     

消息文件。仅指定文件名的主要部分。例如,要登录Testing.log文件,请指定&#34; Testing&#34;。   该文件必须位于默认日志目录中。 您无法指定目录路径。如果该文件不存在,则会自动创建,扩展名为.log。

(我强调)。

在想知道事情如何发挥作用时,阅读文档总是一个好的开始。

所以<cflog>只会登录到ColdFusion日志目录,这是设计使然。

我没有CF8方便,但你可以通过CFAdmin用户界面(CF9有这个,我刚刚确认)或neo-logging.xml来设置日志目录是不同的WEB-INF/cfusion/lib

或者您可以使用不同的日志记录机制。我怀疑它会对生锈的CF8安装起作用,但也许LogBox