【问题标题】:JRun/Coldfusion - System.out - how to prevent it getting too large?JRun/Coldfusion - System.out - 如何防止它变得太大?
【发布时间】:2011-01-20 15:25:01
【问题描述】:

我在 Windows 机器上运行 ColdFusion 8 应用服务器。 ColdFusion 作为 Windows 服务运行。

我注意到System.out 文件在某些​​机器上很大(1GB+)。

例如

C:\ColdFusion8\runtime\bin\System.out

我知道这是在将 CF 作为服务运行时控制台输出结束的地方,但是是否有任何 JRun 设置允许我每隔 x MB 保存这个文件,或者限制文件的大小或类似的东西?

感谢所有提示!

重要编辑:

基于here 的讨论 - 我认为有必要提一下 System.out 文件在我们的机器上变得很大,因为有大量代码写入该文件,即使用:

sys = createObject("java", "java.lang.System");
sys.out.println(...);

如果您将 CF 作为控制台作业(即从命令行)运行,这是一个有用的调试工具,因为旧版本的 CF 在使用 <cflog /> 时不会登录到控制台。

我们已要求我们的开发人员停止这种做法,转而使用<cflog />writeLog(),这两个日志都记录到控制台以及应用程序日志(默认情况下)。

【问题讨论】:

    标签: java coldfusion windows-services jrun


    【解决方案1】:

    看起来如果您转到 ColdFusion 服务器文件的 jrun.xml 并找到以下行:

    <service class="jrunx.logger.ConsoleLogEventHandler" name=":service=ConsoleLogEventHandler" />
    

    您应该能够向其中添加这些位:

        <attribute name="rotationSize">200k</attribute>
        <attribute name="rotationFiles">3</attribute>
        <!-- Use heading to specify an alternate log heading for system event log. -->
        <!-- EXAMPLE: <attribute name="heading"># Created by JRun on {date MM/dd HH:mm:ss}</attribute> -->
        <attribute name="closeDelay">5000</attribute>
        <attribute name="deleteOnExit">false</attribute>
    

    然后按照您认为合适的方式操作设置。不过according to this blog entry, you cannot change the name of the file.

    【讨论】:

    • Coldfusion 日志文件实际上已经有一个 XML 节点,您可以添加另一个具有唯一名称的 节点并将其指向 {jrun.rootdir} /bin/System.out 来整理该文件 - 很有魅力!
    • 还有另一种方法可以做到这一点:在您的应用程序中运行一些 CF 代码以根据需要覆盖文件。这有效,但它似乎阻止了 CF 在此之后附加到它。可能不适合所有人。
    • 请在此处查看 cmets:carehart.org/blog/client/index.cfm/2010/10/15/… 以获得更全面的讨论 - 结果是停止使用 System.out.println() 并改用 &lt;cflog&gt;writeLog()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多