NLog внутренний журнал не работает с ASP.Net MVC - PullRequest
12 голосов
/ 24 февраля 2012

У меня проблема с 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>

Цель «отладка» работает хорошо, но internalLogFile работает только в том случае, если я установил для примера «D: /NLog.log».

Есть идеи, почему это происходит?

Ответы [ 3 ]

12 голосов
/ 24 февраля 2012

Нельзя использовать средства визуализации макетов $ {...} в свойстве internalLogFile.Они предназначены только для макета цели:

<target layout="${...}" />

Попробуйте использовать относительный путь, например ".. \ App_Data \ NLog.log"

1 голос
/ 01 мая 2015

Для атрибута internalLogFile должен быть задан абсолютный путь, а исполняющая сборка должна иметь разрешение на запись в этот абсолютный путь.

У меня сработало следующее.

  1. Создайте папку где-нибудь - например, маршрут вашего c: диска, например c:\logs
  2. Отредактируйте права доступа к этой папке и предоставьте полный контроль всем
  3. Установите конфигурацию nlog:internalLogFile="C:\logs\nlog.txt"

Не забудьте убирать за собой и не оставлять каталог с такими разрешениями на

0 голосов
/ 28 марта 2014

из эта ссылка Я думаю, что путь абсолютен

...