Ваша конфигурация не имеет никакого смысла для меня.Думаю, вам нужно объяснить, как вы ожидаете, что ваша конфигурация будет работать.Любая причина, по которой вы не следуете примерам: https://github.com/NLog/NLog/wiki/FileTarget-Archive-Examples
Но поскольку вы настроили ${date:format=yyyy-MM-dd}
в FileName и не указали archiveEvery (или archiveAboveSize), он никогда не будет запускать операции архивирования.
Я предлагаю вам настроить свой NLog следующим образом:
<target
xsi:type="File"
name="main.file"
layout="${message}"
fileName="${logPath}\service-main.log"
archiveFileName="${logPath}\archive\service-main-{#}.log"
archiveNumbering="Rolling"
archiveEvery="Day"
maxArchiveFiles="10"
encoding="utf-8"
keepFileOpen="true" />
Или настроить свой NLog следующим образом (требуется NLog 4.5 или более поздней версии):
<target
xsi:type="File"
name="main.file"
layout="${message}"
fileName="${logPath}\win-service-${date:format=yyyy-MM-dd}.log"
maxArchiveFiles="10"
encoding="utf-8"
keepFileOpen="true" />
Или вынастроить NLog следующим образом (поддерживает NLog 4.4 или более раннюю версию):
<target
xsi:type="File"
name="main.file"
layout="${message}"
fileName="${logPath}/win-service-${date:format=yyyy-MM-dd}.log"
archiveFileName="${logPath}/win-service-{#}.log"
archiveDateFormat="yyyy-MM-dd"
archiveNumbering="Date"
archiveEvery="Year"
maxArchiveFiles="10"
encoding="utf-8"
keepFileOpen="true" />