2013-02-28 3 views
3

Я последовал пример here и определил на основе время файловых архивов в моем IIS следующегоNlog конфигурации - время на основе файла в архиве не работает

<nlog autoReload="true" throwExceptions="true" > 
<targets async="true"> 
    <target name="file" type="File" 
     layout="${longdate} ${logger} ${message}" 
     fileName="${basedir}/logs/logfile.txt" 
     archiveFileName="${basedir}/logs/archives/log.{#}.${longdate}.txt" 
     archiveEvery="Day" 
     archiveNumbering="Rolling" 
     maxArchiveFiles="31" 
     concurrentWrites="true" 
     keepFileOpen="false" 
     encoding="iso-8859-2" /> 
</targets> 
<rules> 
    <logger name="*" minlevel="Trace" writeTo="file" /> 
</rules> 

хотя я создал папки - файлы не архивируются. Любые идеи?

+0

Работает ли он, если вы изменили filetarget для входа в один файл? Попробовали ли вы устранить неполадки при регистрации, как описано в https://github.com/NLog/NLog/wiki/Logging-troubleshooting – Xharze

ответ

1

Я использовал следующие конфигурации во всех моих проектах и, кажется, архивировать просто отлично:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true"> 

    <variable name="LogFileName" value="App"/> 
    <variable name="LogFileExtension" value="log"/> 
    <variable name="LogsLocation" value="c:\TempFiles\AppLogs" /> 

    <targets async="true"> 
     <target name="console" xsi:type="Console" /> 
     <target name="flatFileTarget" xsi:type="File" 
       layout="${date:format=dd-MM-yyyy HH\:mm\:ss.fff} | ${message}" 
       fileName="${LogsLocation}\${LogFileName}.${LogFileExtension}" 
       archiveFileName="${LogsLocation}\${LogFileName}.{#####}.${LogFileExtension}" 
       archiveAboveSize="500000" maxArchiveFiles="10" 
       archiveNumbering="Rolling" 
       createDirs="true" 
       concurrentWrites="true" 
       archiveEvery="Day" 
       deleteOldFileOnStartup="true" /> 
    </targets> 

    <rules> 
     <logger name="*" writeTo="flatFileTarget" /> 
     <logger name="*" writeTo="console" /> 
    </rules> 

    </nlog> 

Также убедитесь, что пользователь, запускающий приложение имеет права на запись на уровне ОС в папку, в которой файлы журналов будет быть создан. НТН.

Смежные вопросы