visual tutorials studio logger implement example configurar c# .net vb.net logging nlog

c# - tutorials - ¿Dónde se localiza ${basedir}, usando NLog?



nlog tutorials (4)

Depende también de la plataforma. Para los proyectos .Net regulares es de hecho bin o bin / debug, etc. (dependiendo de la configuración de compilación)

Para coreclr / aspnet5 es la carpeta bin de su tiempo de ejecución de dnx. Eso sigue siendo trabajo en progreso.

A menos que me lo pierda por completo, tengo la impresión de que la documentación de NLog usa ${basedir} en sus ejemplos, sin explicar cuál es su ubicación.

¿Dónde puedo encontrar información que enumere todas las opciones posibles con una descripción significativa?

Tengo esta configuración definida:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true"> <targets> <target name="file" xsi:type="File" layout="${longdate} ${logger} ${message}" fileName="${basedir}/logs/${shortdate}.txt" keepFileOpen="false" encoding="iso-8859-2" /> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="file" /> </rules> </nlog>

Funciona por lo que puedo decir, pero no tengo ni idea de dónde registra nada.


Otra posibilidad de error es que si está utilizando NLog.config, NLog no puede encontrar el archivo de configuración. Establezca el archivo en Copiar siempre en su compilación y terminará en su directorio bin, por lo que NLog puede encontrarlo en tiempo de ejecución.

Si copia la información de configuración de NLog en su App.config, no tendrá este problema.


Según las respuestas y los comentarios ya proporcionados, la respuesta se puede resumir para la aplicación .NET:

AppDomain.CurrentDomain.BaseDirectory

Para la aplicación de la Consola o Windows Forms, este directorio es bin/debug dentro de Visual Studio. Si se implementa la aplicación, la ruta probablemente será la ruta ejecutable.

Para aplicaciones web (ASP.NET), este será el directorio raíz de la aplicación web.

No ver los archivos puede ser activado por varias causas que incluyen: errores de configuración de NLog y no poder escribir el archivo de destino. Para exponer estos errores, asegúrese de que NLog.config (o la configuración Nlog incorporada en web.config o app.config) especifique un archivo de registro interno para generar dichos errores:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogFile="C:/NLogError/NLog.log"> <!-- targets and rules come here --> </nlog>


${basedir} - Directorio donde se ejecuta la aplicación.

Creo que encontrará útil esta página de manual .