<?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"
internalLogLevel="Off"
throwExceptions="false">
<targets>
<target name="log_file" xsi:type="File"
fileName="${specialfolder:folder=MyDocuments}/Files/Logs/${date:format=yyyy}/test-${date:format=yyyyMMdd}"
layout="#【操作时间】:${date} #【操作级别】:${level:uppercase=true} #${message}#"
archiveFileName="${specialfolder:folder=MyDocuments}/test/Logs/archives/${date:format=yyyy}/test-${date:format=yyyyMMdd}-{#####}"
archiveAboveSize="104857600"
archiveNumbering="Sequence"
maxArchiveFiles="50"
archiveEvery="Day"
concurrentWrites="true"
keepFileOpen="false"
encoding="utf-8"
autoFlush="true" />
</target>
<!--使用可自定义的着色将日志消息写入控制台-->
<target name="coloredConsole" xsi:type="ColoredConsole" useDefaultRowHighlightingRules="false"
layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff}|${level:uppercase=true}|${message}|${callsite}|${all-event-properties}">
<highlight-row condition="level == LogLevel.Warn" foregroundColor="Yellow" />
<highlight-row condition="level == LogLevel.Error" foregroundColor="Red" />
<highlight-row condition="level == LogLevel.Fatal" foregroundColor="Red" />
<!-- Trace级别 - 深灰色 -->
<highlight-row condition="level == LogLevel.Trace" foregroundColor="DarkGray" />
<!-- Debug级别 - 蓝色 -->
<highlight-row condition="level == LogLevel.Debug" foregroundColor="Blue" />
<!-- Info级别 - 绿色 -->
<highlight-row condition="level == LogLevel.Info" foregroundColor="Green" />
</target>
</targets>
<!--规则配置,final - 最终规则匹配后不处理任何规则-->
<rules>
<!-- 过滤Microsoft开头的日志,只记录Info及以上级别 -->
<logger name="Microsoft.*" minlevel="Info" writeTo="" final="true" />
<!-- 所有日志记录到文件(Info及以上级别) -->
<logger name="*" minlevel="Info" writeTo="asyncFile" />
<!-- Warn及以上级别输出到彩色控制台 -->
<logger name="*" minlevel="Warn" writeTo="ColoredConsole" />
</rules>
</nlog>