En mis servicios de Windows, imprimo los registros en un directorio predeterminado de "C: \ Archivos de registro de la aplicación \" y le permito al usuario elegir una ubicación alternativa. Los ciclo automáticamente, así que tengo Monday.log, Tuesday.log etc. El martes por la mañana, elimino el Wednesday.log para que esté vacío al día siguiente. Finalmente, si una semana no es suficiente, renombro el anterior como Wednesday.V01. El motivo de este ciclo semanal es que en una versión anterior realizada por otra persona, los registros eran por fecha y silenciosamente se ocupaban de llenar los discos duros hasta que todo se caía. Dado que la mayoría de los sistemas no tienen a nadie que los mantenga, vale la pena hacerlo.
Finalmente, aunque el registro de eventos del sistema es un buen lugar para un mensaje ocasional, no es bueno para un registro detallado de transacciones, etc. Al tener archivos de registro fuera del registro del sistema, puede enviarlos a un desarrollador para el análisis mucho más fácilmente.
% TEMP% puede y será borrado en cualquier momento por una acción externa que no puede controlar. No puede depender de una ubicación de registro, ya que los registros pueden eliminarse fácilmente antes de que lleguen a ser útiles en un momento en que lo necesiten. –
Por otro lado ... es muy poco probable que alguna vez necesite permisos especiales para escribir en una carpeta temporal, que es uno de los mayores problemas para elegir una carpeta de registro. – chills42
Y si su archivo de registro está abierto, Windows no lo eliminará porque tiene un sistema de archivos dañado. – boatcoder