NLog внутренний журнал не работает с ASP.Net MVC
У меня есть проблема с NLog для регистрации его внутренних журналов с этой конфигурацией
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
throwExceptions="true"
internalLogFile="${basedir}/App_Data/NLog.log"
internalLogLevel="Trace">
<targets>
<target name="debug"
xsi:type="File"
fileName="${basedir}/App_Data/Site.log" />
</targets>
<rules>
<logger name="*"
writeTo="debug" />
</rules>
</nlog>
Целевой "debug" работает хорошо, но internalLogFile работает только в том случае, если я установил его для exemple в "D:/NLog.бревно".
Есть идеи, почему это происходит?
3 ответа:
Вы не можете использовать визуализаторы макета ${...} в свойстве internalLogFile. Они предназначены только для макета цели:
<target layout="${...}" />
Попробуйте использовать относительный путь, как "..\App_Data\NLog.журнал "
Атрибут
internalLogFile
должен быть установлен в абсолютный путь, и исполняющая сборка должна иметь разрешение на запись в этот абсолютный путь.Для меня сработало следующее.
- создайте где-нибудь папку - например, маршрут вашего диска
c:
, напримерc:\logs
- отредактируйте разрешения этой папки и предоставьте полный контроль всем
- задайте конфигурацию nlog:
internalLogFile="C:\logs\nlog.txt"
Не забывайте убирать за собой и не оставляйте каталог с такими сортами разрешений на
Из этой связи я думаю, что путь является абсолютным