Files
StoreWeb/Store.API/Nlog.config
T
2026-10-14 17:33:37 +08:00

85 lines
3.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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>