<?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"
|
autoReload="true"
|
throwConfigExceptions="true"
|
internalLogLevel="info">
|
|
<!-- enable asp.net core layout renderers
|
<extensions>
|
<add assembly="NLog.Web.AspNetCore"/>
|
</extensions> -->
|
|
<!-- the targets to write to -->
|
<targets async="true">
|
<!--启用buffer-->
|
<!--<default-wrapper xsi:type="BufferingWrapper" bufferSize="100"/>-->
|
|
<target xsi:type="Null" name="blackhole" />
|
<!--write logs to file-->
|
<!--Default Log : 每天按每天存档,每个存档不大于10M-->
|
<target name="default" xsi:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" archiveEvery="Day" KeepFileOpen="false"
|
fileName="Logs/${shortdate}.log" layout="`${longdate}[${level}] ${callsite} at ${callsite-linenumber} :: ${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`"/>
|
<!--No Callsite Log : 每天按每天存档,每个存档不大于10M-->
|
<target name="noCaller" xsi:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" archiveEvery="Day" KeepFileOpen="false"
|
fileName="Logs/${shortdate}.log" layout="`${longdate}[${level}] ${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`"/>
|
<!--Http Context Log : 每天按每天存档,每个存档不大于10M-->
|
<target name="http" xsi:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" archiveEvery="Day" KeepFileOpen="false"
|
fileName="Logs/${shortdate}.http.log" layout="`${longdate}[${level}] HttpLog :: ${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`"/>
|
<!--Scheduler Log : 每天按每天存档,每个存档不大于10M-->
|
<target name="scheduler" xsi:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" archiveEvery="Day" KeepFileOpen="false"
|
fileName="Logs/${shortdate}.scheduler.log" layout="`${longdate}[${level}] SchedulerLog :: ${newline}${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`"/>
|
<!--Interface Log : 每天按每天存档,每个存档不大于10M-->
|
<target name="Interface" xsi:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" archiveEvery="Day" KeepFileOpen="false"
|
fileName="Logs/${shortdate}.Interface.log" layout="`${longdate}[${level}] InterfaceLog :: ${newline}${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`"/>
|
<!--Shelf Log : 每天按每天存档,每个存档不大于10M-->
|
<target name="shelf" xsi:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" archiveEvery="Day" KeepFileOpen="false"
|
fileName="Logs/ShelfLog/${shortdate}.shelf.log" layout="`${longdate}[${level}] ShelfHttpLog :: ${newline}${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`"/>
|
<!--Console Log : 输出到控制台-->
|
<target name="console" xsi:type="ColoredConsole" useDefaultRowHighlightingRules="true" layout="`${longdate}[${level}] ${callsite} at ${callsite-linenumber} :: ${message}. ${onexception:${exception:format=tostring}${newline}${stacktrace}}`">
|
<highlight-row condition="level == LogLevel.Fatal" foregroundColor="Red"/>
|
<highlight-row condition="level == LogLevel.Error" foregroundColor="Magenta"/>
|
<highlight-row condition="level == LogLevel.Warn" foregroundColor="Yellow"/>
|
<highlight-row condition="level == LogLevel.Info" foregroundColor="Green"/>
|
<highlight-row condition="level == LogLevel.Debug" foregroundColor="Gray"/>
|
<highlight-row condition="level == LogLevel.Trace" foregroundColor="Cyan"/>
|
<highlight-word text="Exception" ignoreCase="true" foregroundColor="White" backgroundColor="Magenta"/>
|
</target>
|
</targets>
|
|
<!-- rules to map from logger name to target -->
|
<rules>
|
<!--All logs, including from Microsoft-->
|
<!--<logger name="*" minlevel="Trace" writeTo="allfile" />-->
|
|
<logger name="default" minlevel="Trace" writeTo="default" />
|
<logger name="noCaller" minlevel="Trace" writeTo="noCaller" />
|
<logger name="console" minlevel="Trace" writeTo="default" />
|
<logger name="console" minlevel="Trace" writeTo="console" />
|
<logger name="http" minlevel="Trace" writeTo="http" />
|
<logger name="scheduler" minlevel="Trace" writeTo="scheduler" />
|
<logger name="Interface" minlevel="Trace" writeTo="Interface" />
|
<logger name="shelf" minlevel="Trace" writeTo="shelf" />
|
|
<!--Skip Microsoft logs and so log only own logs-->
|
<logger name="Microsoft.*" minlevel="Trace" writeTo="default" final="true" />
|
</rules>
|
</nlog>
|