1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <nlog xmlns =" http://www.nlog-project.org/schemas/NLog.xsd"
3+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
4+ autoReload =" true"
5+ internalLogLevel =" Info"
6+ internalLogFile =" c:\temp\internal-nlog-AspNetCore.txt" >
7+
8+ <!-- enable asp.net core layout renderers -->
9+ <extensions >
10+ <add assembly =" NLog.Web.AspNetCore" />
11+ </extensions >
12+
13+ <!-- the targets to write to -->
14+ <targets >
15+ <!-- File Target for all log messages with basic details -->
16+ <target xsi : type =" File" name =" allfile" fileName =" c:\temp\nlog-AspNetCore-all-${shortdate}.log"
17+ layout=" ${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${level:uppercase=true}|${logger}|${message} ${exception:format=tostring}" />
18+
19+ <!-- File Target for own log messages with extra web details using some ASP.NET core renderers -->
20+ <target xsi : type =" File" name =" ownFile-web" fileName =" c:\temp\nlog-AspNetCore-own-${shortdate}.log"
21+ layout=" ${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${level:uppercase=true}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}|${callsite}" />
22+
23+ <!-- Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection -->
24+ <target xsi : type =" Console" name =" lifetimeConsole" layout =" ${MicrosoftConsoleLayout}" />
25+ </targets >
26+
27+ <!-- rules to map from logger name to target -->
28+ <rules >
29+ <!-- All logs, including from Microsoft-->
30+ <logger name =" *" minlevel =" Trace" writeTo =" allfile" />
31+
32+ <!-- Output hosting lifetime messages to console target for faster startup detection -->
33+ <logger name =" Microsoft.Hosting.Lifetime" minlevel =" Info" writeTo =" lifetimeConsole, ownFile-web" final =" true" />
34+
35+ <!-- Skip non-critical Microsoft logs and so log only own logs (BlackHole) -->
36+ <logger name =" Microsoft.*" maxlevel =" Info" final =" true" />
37+ <logger name =" System.Net.Http.*" maxlevel =" Info" final =" true" />
38+
39+ <logger name =" *" minlevel =" Trace" writeTo =" ownFile-web" />
40+ </rules >
41+ </nlog >
0 commit comments