а саму секцию nlog в web.config объявили? Вот вам пример неплохого лога который я юзаю кое-где (требуется nlog.extended пакет)
| Код | <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /> </configSections> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <extensions> <add assembly="NLog.Extended" /> </extensions> <variable name="logDir" value="${basedir}/App_Data/logs/" /> <variable name="detailedLayout" value="${longdate} - (${level:uppercase=true}) [${threadid}] ${aspnet-user-identity} (${logger}) : ${message} ${exception:format=ToString,StackTrace:separator=
}" /> <targets> <target name="file" xsi:type="File" fileName="${logDir}/app${date:format=yyyy_MM_dd}.log" layout="${detailedLayout}" deleteOldFileOnStartup="false" keepFileOpen="true" /> <target name="debugger" xsi:type="Debugger" layout="${detailedLayout}" /> <target name="eventlog" xsi:type="EventLog" layout="${detailedLayout}" source="MySource" log="LOGNAME" /> </targets> <rules> <logger name="*" minlevel="Trace" writeTo="file,debugger" /> <logger name="*" minlevel="Warn" writeTo="eventlog" /> </rules> </nlog> <system.diagnostics> <trace autoflush="true"> <listeners> <add name="LogFileTraceListener" type="NLog.NLogTraceListener, NLog" /> <remove name="Default" /> </listeners> </trace> <switches> </switches> <sources /> <sharedListeners> <add name="nlog" type="NLog.NLogTraceListener, NLog" /> </sharedListeners> </system.diagnostics>
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>
</configuration>
|
каталог ~/App_Data/logs/ должен существовать, конечно, и права на него IIS (или в чем вы там это запускете) должны быть соотсветствующие. |