asp.net logging permissions

¿Dónde debería poner mi archivo de registro para una aplicación asp.net?



logging permissions (6)

La carpeta App_Data en la raíz del proyecto. No se sirve para solicitudes web; para que otras personas no puedan husmear.

Tengo una aplicación ASP.NET para la que hemos escrito nuestro propio módulo de registro.

Mi pregunta es, ¿dónde está el lugar estándar para escribir un archivo de registro? Es decir, el sitio web se ejecutará como la identidad de usuario anónimo (por ejemplo, IUSR en IIS7) y necesito un lugar donde sé que tendrá permiso para escribir.

Aclamaciones,


No estoy en posición de modificar los permisos en las carpetas (especialmente fuera de la carpeta de inicio del directorio virtual), y aún no tengo una carpeta de datos de aplicación, así que estoy un poco indeciso de ir con eso.

Si tiene un sitio web, claramente tiene una carpeta en alguna parte. ¿No puedes agregar una subcarpeta (que no se encuentre en la red)? Parece que sería un lugar más apropiado para colocar los registros que colocarlos en una carpeta compartida global.


No estoy en posición de modificar los permisos en las carpetas (especialmente fuera de la carpeta de inicio del directorio virtual), y aún no tengo una carpeta de datos de aplicación, así que estoy un poco indeciso de ir con eso.

Así que por el momento voy con la Carpeta CommonApplicationData.

  • En Vista / Server 2008 esto es C: / ProgramData /
  • En XP / Server 2003 esto es C: / Documents and Settings / All Users / Application Data /

Sugeriría poner el archivo de registro en un disco separado, aunque debería darle un pequeño aumento de rendimiento para que no intente leer y escribir en el mismo disco que el sitio web. Si no puede poner el archivo de registro en un disco separado, entonces simplemente elegiría una carpeta de su elección.

En cualquier caso, deberá otorgar permisos "Modificar" a la cuenta "Servicio de red" en la carpeta deseada.

Si, por otro lado, tienes acceso a un databse, luego registra la información allí. Será mucho más rápido que acceder al disco duro y no estará disponible públicamente. También podrá informar de los datos con bastante facilidad.


También puede iniciar sesión en el registro de eventos de Windows o en una tabla en una base de datos. ¿Con qué frecuencia las personas miran el registro de eventos? Si se está examinando sobre una base regular, escribir en una tabla me ayuda a informar mucho más fácilmente ya que es trivial revertir el orden y solo mostrar los últimos eventos X para el período de tiempo actual. El registro de eventos de Windows también puede consultar el registro de eventos de Windows a través de PowerShell o LogParser .


Presionar app_data es la mejor idea, solo tenga en cuenta que, cuando se publiquen los proyectos, si la opción "Eliminar todos los archivos existentes antes de la publicación" está marcada, los datos actuales de la carpeta desaparecerán. La solución alternativa es omitir la eliminación de la carpeta app_data.

Otra opción para hacer el registro es usar algún marco existente como Log4net.