85 lines
3.6 KiB
XML
85 lines
3.6 KiB
XML
<?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"
|
||
throwExceptions="false"
|
||
internalLogLevel="Info"
|
||
internalLogFile="c:\temp\nlog-internal.log">
|
||
|
||
<!-- 启用.net core的核心布局渲染器(传统ASP.NET使用NLog.Web) -->
|
||
<extensions>
|
||
<!-- 如果是ASP.NET Core项目使用这个 -->
|
||
<add assembly="NLog.Web.AspNetCore" />
|
||
</extensions>
|
||
|
||
<!-- 写入日志的目标配置 -->
|
||
<targets>
|
||
<!-- 致命错误 - 单独文件 -->
|
||
<target xsi:type="File" name="fatal"
|
||
fileName="logs/${date:format=yyyyMM}/Fatal/${shortdate}.log"
|
||
layout="${longdate}|${level:uppercase=true}|${logger}|${callsite}|${message}|${exception:format=tostring}"
|
||
archiveEvery="Day"
|
||
maxArchiveFiles="30"
|
||
concurrentWrites="true" />
|
||
|
||
<!-- 错误日志 -->
|
||
<target xsi:type="File" name="error"
|
||
fileName="logs/${date:format=yyyyMM}/Error/${shortdate}.log"
|
||
layout="${longdate}|${level:uppercase=true}|${logger}|${callsite}|${message}|${exception:format=tostring}"
|
||
archiveEvery="Day"
|
||
maxArchiveFiles="30"
|
||
concurrentWrites="true" />
|
||
|
||
<!-- 警告日志 -->
|
||
<target xsi:type="File" name="warn"
|
||
fileName="logs/${date:format=yyyyMM}/Warn/${shortdate}.log"
|
||
layout="${longdate}|${level:uppercase=true}|${logger}|${callsite}|${message}|${exception:format=tostring}"
|
||
archiveEvery="Day"
|
||
maxArchiveFiles="30"
|
||
concurrentWrites="true" />
|
||
|
||
<!-- 信息日志 -->
|
||
<target xsi:type="File" name="info"
|
||
fileName="logs/${date:format=yyyyMM}/Info/${shortdate}.log"
|
||
layout="${longdate}|${level:uppercase=true}|${logger}|${callsite}|${message}|${exception:format=tostring}"
|
||
archiveEvery="Day"
|
||
maxArchiveFiles="30"
|
||
concurrentWrites="true" />
|
||
|
||
<!-- 调试日志 -->
|
||
<target xsi:type="File" name="debug"
|
||
fileName="logs/${date:format=yyyyMM}/Debug/${shortdate}.log"
|
||
layout="${longdate}|${level:uppercase=true}|${logger}|${callsite}|${message}|${exception:format=tostring}"
|
||
archiveEvery="Day"
|
||
maxArchiveFiles="7"
|
||
concurrentWrites="true" />
|
||
|
||
<!-- 控制台输出(调试用) -->
|
||
<target xsi:type="Console" name="console"
|
||
layout="${longdate}|${level:uppercase=true}|${logger}|${message}" />
|
||
</targets>
|
||
|
||
<!-- 映射规则 -->
|
||
<rules>
|
||
<!-- 忽略 Hangfire 的 Debug 日志 -->
|
||
<logger name="Hangfire.*" maxlevel="Debug" writeTo="BlackHole" final="true" />
|
||
|
||
<!-- 规则1: 调试级别(Trace, Debug)写入debug文件 -->
|
||
<logger name="*" minlevel="Trace" maxlevel="Debug" writeTo="debug,console" />
|
||
|
||
<!-- 规则2: 跳过微软框架的Info级别以下日志(减少噪音) -->
|
||
<logger name="Microsoft.*" maxlevel="Info" final="true" />
|
||
|
||
<!-- 规则3: 信息级别(Info, Warn)写入info和warn文件 -->
|
||
<logger name="*" level="Info" writeTo="info" />
|
||
<logger name="*" level="Warn" writeTo="warn" />
|
||
<!-- 或者合并为一行:<logger name="*" minlevel="Info" maxlevel="Warn" writeTo="info,warn" /> -->
|
||
|
||
<!-- 规则4: 错误级别(Error, Fatal)写入error和fatal文件 -->
|
||
<logger name="*" level="Error" writeTo="error" />
|
||
<logger name="*" level="Fatal" writeTo="fatal,error" />
|
||
|
||
<!-- 如果需要,也可以将所有级别都记录到同一个文件 -->
|
||
<!-- <logger name="*" minlevel="Trace" writeTo="all" /> -->
|
||
</rules>
|
||
</nlog> |