logging - netcore - Usar el directorio de datos de la aplicación en la ruta del archivo NLog
nlog levels (4)
La respuesta aceptada no crea el archivo de registro en el directorio AppData / Local , sino que crea el archivo de registro en el directorio AppData / Roaming . Según lo solicitado por el OP para crear el archivo de registro en AppData / Local , debe usar LocalApplicationData en la ruta de la carpeta especial.
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=LocalApplicationData}/ApplicationLogs/LogFile.txt"/>
¿Cómo puedo configurar el target
en el archivo NLog.config para crear el archivo de registro en el directorio de datos de la aplicación del usuario?
A continuación se muestra la ubicación deseada del archivo.
C: / Users / userid / AppData / Local ... / LogFile.txt
Intenté establecer el nombre de fileName
de las siguientes maneras sin ningún éxito.
target name="logfile" xsi:type="File" fileName="%APPDATA%/.../LogFile.txt"
target name="logfile" xsi:type="File" fileName="${APPDATA}/.../LogFile.txt"
target name="logfile" xsi:type="File" fileName="${%APPDATA%}/.../LogFile.txt"
Puedes lograrlo creando un objetivo como este:
<target name="logfile" xsi:type="File"
fileName="${specialfolder:folder=ApplicationData}/LogFile.txt"/>
La documentación se puede encontrar here .
Espero que esto ayude.
Solo como una adición a la respuesta de Jacco, puede agregar un nombre de carpeta a la ruta si desea que los registros se mantengan separados de otros datos que pueda almacenar en appdata, como esto:
fileName="${specialfolder:folder=ApplicationData}/Logs/LogFile.txt"/>
También puedes usar lo siguiente:
<target name ="file_name" xsi:type="File" filename="${basedir}/file_name.txt"></target>
Aquí $ {basedir} significa su directorio de trabajo actual (donde se ejecuta la aplicación).