nlog使用小记(日志文件分割备份循环)
nlog使用小记(日志文件分割备份循环)
fileName: 当前记录日志的文件名
archiveFileName:归档日志文件名
archiveAboveSize:文件达到多大进行归档
maxArchiveFiles:归档的日志文件保留数量
archiveNumbering:归档文件名称的保留方式 Sequence- 按顺序保留,如:2023-12-27_0005.log,2023-12-27_0006.log,... Rolling- 滚动生成,文件名不变,如:2023-12-27_0001.log,2023-12-27_0002.log,...
以下是配置示例:
<?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"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Warn" throwConfigExceptions="true">
<!--autoReload 自动重新加载-->
<!--throwExceptions 抛出异常-->
<!--throwConfigExceptions="true" NLog 在配置文件错误的情况下抛出异常-->
<!--在根节点(nlog)配置 internalLogLevel, internalLogFile,可以查看NLog输出日志时的内部信息,比如你配置文件有错误,很有帮助,不过项目发布后还是关闭比较好,以免影响效率;-->
<extensions>
<add assembly="NLog.Web.AspNetCore" />
</extensions>
<targets async="true">
<!--黑洞 忽略的日志-->
<target xsi:type="Null" name="blackhole" />
<default-wrapper xsi:type="BufferingWrapper" bufferSize="100" FlushTimeout="10000">
<wrapper-target xsi:type="AsyncWrapper" queueLimit="5000" overflowAction="Discard"/>
</default-wrapper>
<target xsi:type="File" name="allfile" fileName="/tmp/bpm.log"
archiveFileName="/tmp/historys/${shortdate}_{####}.log"
archiveNumbering="Sequence"
maxArchiveFiles="5"
archiveAboveSize="10240" layout="${longdate} | ${threadid} | ${logger} | ${uppercase:${level}} | ${message} ${exception:format=tostring}" />
<!--屏幕打印消息-->
<target name="console" xsi:type="ColoredConsole" layout="${longdate}| ${logger} | ${uppercase:${level}} | ${message}"/>
</targets>
<rules>
<!-- 记录应用程序的 database 输出 -->
<!--<logger name="SmartCore.*" minlevel="database" writeTo="allfile" />-->
<!-- 记录所有日志级别不低于 Warn 的日志到日志文件 -->
<logger name="*" minlevel="Info" writeTo="allfile" />
<logger name="*" minlevel="Info" writeTo="console" />
</rules>
</nlog>
浙公网安备 33010602011771号