我使用NLog.Targets.Syslog将消息记录到Kiwi Syslog。最近我发现这种目标类型占用了大量内存。
Nlog.config代码
<target xsi:type="sl:Syslog" name="syslogForImporter">
<sl:layout xsi:type="SimpleLayout" text=" NewSVC: ${date:format=yyyy-MM-ddTHH\:mm\s.fff} ${message}${exception:format=ToString,StackTrace}" />
<sl:enforcement>
<sl:splitOnNewLine>true</sl:splitOnNewLine>
<sl:transliterate>true</sl:transliterate>
<sl:replaceInvalidCharacters>true</sl:replaceInvalidCharacters>
<sl:truncateFieldsToMaxLength>true</sl:truncateFieldsToMaxLength>
<sl:truncateMessageTo>1024</sl:truncateMessageTo>
</sl:enforcement>
<sl:messageCreation>
<!--Facility as log audit-->
<sl:facility>Audit</sl:facility>
<sl:rfc>Rfc3164</sl:rfc>
<sl:rfc3164 hostname="${machinename}" tag="${logger}" />
</sl:messageCreation>
<sl:messageSend>
<sl:protocol>UDP</sl:protocol>
<sl:udp>
<sl:server>10.20.30.40</sl:server>
<sl:port>514</sl:port>
</sl:udp>
</sl:messageSend>
</target>
禁用syslog的目标规则后,内存利用率急剧下降。
有人可以帮我解决这个问题。我使用c#,NLog V4.4.12,NLog.Targets.Syslog V4.0.0.0