2010-02-24 21 views
7

Estoy ejecutando servidores de aplicaciones ColdFusion 8 en máquinas con Windows. ColdFusion se está ejecutando como un servicio de Windows.JRun/Coldfusion - System.out - cómo evitar que se vuelva demasiado grande?

He notado que el archivo System.out es masivo (1GB +) en algunas de las máquinas.

p. Ej.

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

entiendo aquí es donde termina salida de la consola cuando se ejecuta como un servicio de CF, pero ¿hay alguna JRun establecer me permitirá guardar este archivo cada x MB, o para limitar el tamaño del archivo o algo similar?

Todos los consejos apreciados!

EDITAR IMPORTANTE:

Sobre la base de una discusión here - pensé que es importante mencionar que el archivo System.out ha conseguido grandes en nuestras máquinas debido a la gran cantidad de código que escriben a ese archivo, es decir, utilizando:

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

Si está ejecutando CF como un trabajo de la consola (es decir, desde la línea de comandos) se trata de una herramienta de depuración útil, ya que las versiones anteriores de CF no registrar a la consola cuando se utiliza <cflog />.

Hemos pedido a nuestros desarrolladores que interrumpan esta práctica y en su lugar utilicen <cflog /> o writeLog(), que se registran en la consola y en el registro de la aplicación (de forma predeterminada).

Respuesta

8

Parece que si vas a la jrun.xml para su archivo de servidor ColdFusion y encontrar la línea:

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

usted debería ser capaz de añadir estos bits a ella:

<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> 

Y luego manipule la configuración como mejor le parezca. Sin embargo, according to this blog entry, you cannot change the name of the file.

+0

En realidad, ya hay un nodo XML para los archivos de registro de Coldfusion, y puede agregar otro nodo con un nombre único y señalarlo en {jrun.rootdir} /bin/System.out para ordenar ese archivo - funciona un encanto! –

+0

Hay otra forma de hacerlo: ejecutar algunos códigos CF dentro de su aplicación para sobrescribir el archivo según sea necesario. Esto funciona, pero parece prevenir que CF se le agregue después de eso. Podría no ser adecuado para todos. –

+0

Por favor, vea los comentarios aquí: http://www.carehart.org/blog/client/index.cfm/2010/10/15/controlling_size_of_CF_out_logs para una discusión más completa sobre esto - el resultado es dejar de usar 'System.out.println() 'y use' 'o' writeLog() 'en su lugar. –

Cuestiones relacionadas