【发布时间】:2014-11-18 03:20:25
【问题描述】:
如何配置 NLog,使其记录到数据库表(在我的情况下为 SQL Server)并在特定时间段后清除行?
我正在使用带有database target 的NLog。 file target 有多个选项可以翻转并最终删除日志文件(例如,按日期/时间、大小等)。我希望能够在 NLog 中使用类似的东西。
以下 NLog 文件目标配置允许我将日志设置为保留一段时间,然后完全过期。
<targets async="true">
<target xsi:type="File"
name="TraceFile"
layout="${longdate} - ${level:uppercase=true} - ${callsite:className=true:fileName=true:includeSourcePath=true
:methodName=true}: ${message}${onexception:${newline}EXCEPTION\: ${exception:format=ToString}}"
fileName="${logFolder}\${appName}\Trace\Trace.log"
archiveFileName="${logFolder}\${appName}\Trace\Trace_${shortdate}.log"
archiveNumbering="Sequence"
archiveEvery="Day"
maxArchiveFiles="5"
/>
<target xsi:type="File"
name="DebugFile"
layout="${longdate} - ${level:uppercase=true} - ${callsite:className=true:fileName=true:includeSourcePath=true
:methodName=true}: ${message}${onexception:${newline}EXCEPTION\: ${exception:format=ToString}}"
fileName="${logFolder}\${appName}\Debug\Debug.log"
archiveFileName="${logFolder}\${appName}\Debug\Debug_${shortdate}.log"
archiveNumbering="Sequence"
archiveEvery="Day"
maxArchiveFiles="10"
/>
</targets>
【问题讨论】:
标签: sql-server logging nlog