删除或移动ColdFusion的日志文件

Windows 2003上的Coldfusion 8.0.1

有谁知道一种方法来手动或以编程方式可靠地删除或从\ ColdFusion8 \ logs目录中移动日志文件?

在帐户pipe理中删除它们很less能在没有30次尝试的情况下运行 存档他们留下一个空的文件,很难直观地扫描文件夹的新问题。

停止CF服务是我find的唯一可靠的方法,而且这不是生产服务器上的一个选项。

我们尝试在日志文件名中添加一个文件date,希望在一段时间后CF会放开文件,但是这并不起作用,这些文件会被CF进程locking。

我知道有像解锁器这样的实用程序,但我认为这些可能会杀死cf / jrun进程。

有没有办法停止和重新启动日志logging过程或任何其他方法?

谢谢

在Windows上,我不知道有什么办法可以在不停止服务的情况下执行此操作,因为进程抓住了文件。 像解锁程序可能会让你删除该文件,但是,我不确定是否会导致混乱,当它试图重写到该文件。

当我读到你的问题时,我想到了日志轮换,即日志将成为一个特定的(可configuration的)大小,然后被新文件replace,并更改其名称以包含序列号。

Sean Corfield发表了一篇有关Googlesearch的文章 ,其中描述了ColdFusion内置的日志轮转。 这听起来像它可以被configuration为帮助你实现你所希望的:

在ColdFusionpipe理器的“debugging和日志logging”>“日志logging设置”下,可以设置日志文件轮换的大小以及要保留的过去日志文件的数量。

最大文件大小(KB) – “文件达到此大小时,会自动归档。”

最大存档数 – “达到此限制后,文件将按照从最旧到最新的顺序删除”。

默认情况下,最大文件大小设置为5000,因此每当日志文件达到(大约)5Mb时,它将被归档(旋转),并且默认情况下会保留最后10个归档(除了当前日志)。

如果更改设置,则会影响创build的所有新日志文件,但不会影响任何现有日志文件 – 除非重新启动ColdFusion。

ColdFusionlocking它们。 ColdFusion可以删除它们。 创build一个自定义模板来处理所需的日志备份和删除,然后将其添加为ColdFusion计划任务。

史蒂文是对的,只要你想删除日志文件,你可以运行下面的代码。

你可以尝试下面的代码:

<cfset logDir ="path of the log directory"> <cfoutput> <cfdirectory action="list" directory="#logDir#" name="qry" filter="*.log"> <cfloop Query="qry"> <cffile action="delete" file="#logDir##qry.Name#"> </cfloop> </cfoutput>