У меня есть цель базы данных для ведения журнала nlog, и теперь я хочу повернуть и очистить старые записи в БД.Есть ли встроенные методы для этого?Мой конфиг теперь выглядит так:
<?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="true">
<variable name="logBase" value="${basedir}\logs" />
<variable name="serverAPI" value="-serverAPI" />
<add assembly="NLog.Web.AspNetCore"/>
<add assembly="NLog.Appsettings.Standard"/>
<targets>
<target xsi:type="AsyncWrapper" timeToSleepBetweenBatches="0" optimizeBufferReuse="true"
overflowAction="Grow"
name="serverAPI">
<target
xsi:type="File"
layout="[${time}] ${message}${onexception:${newline}EXCEPTION\:${exception:format=tostring}${newline}}"
createDirs="true"
fileName="${logBase}/${shortdate}/${serverAPI}.txt"
archiveFileName="${logBase}/${shortdate}/${serverAPI}.{#####}.txt"
archiveAboveSize="8388608"
archiveNumbering="Rolling"
maxArchiveFiles="86400"
concurrentWrites="true"
keepFileOpen="false"
encoding="utf-8"
/>
</target>
<target xsi:type="Database"
name="database"
dbProvider="Npgsql.NpgsqlConnection, Npgsql"
connectionString="${gdc:item=DefaultConnection}"
commandText="INSERT INTO log_entries(Date, Exception, Level, Logger, Message, Stacktrace, Thread) VALUES (@Date, @Exception, @Level, @Logger, @Message, @Stacktrace, @Thread);">
/>
<parameter name="@Date" layout="${longdate}" />
<parameter name="@Exception" layout="${exception}" />
<parameter name="@Level" layout="${level}" />
<parameter name="@Logger" layout="${logger}" />
<parameter name="@Message" layout="${message}" />
<parameter name="@Stacktrace" layout="${stacktrace}" />
<parameter name="@Thread" layout="${threadid}" />
/>
</target>
</targets>
<rules>
<logger name="serverAPI" writeTo="serverAPI" minlevel="Trace" />
<logger name="*" minlevel="Info" writeTo="database" />
</rules>
</nlog>
Я знаю, что достичь своей цели можно, написав работу в БД, но это не самый желательный способ.