我正在尝试在 asp.net 核心 2.2 项目中设置 syslog,但我找不到任何解释这一点的东西。NLog.Target.Syslog 上的示例代码对于新手来说解释得不够。我使用示例代码将日志记录设置为文件。
<target xsi:type="Syslog" name="cee-udp">
<sl:layout xsi:type="SimpleLayout" text="@cee: {"message": "${message}"}" />
<sl:messageCreation>
<sl:facility>Local4</sl:facility>
<sl:rfc>Rfc5424</sl:rfc>
<sl:rfc5424>
<sl:hostname xsi:type="SimpleLayout" text="${machinename}" />
<sl:appName xsi:type="SimpleLayout" text="DAEMON.MyAppName" />
<sl:procId xsi:type="SimpleLayout" text="${processid}" />
<sl:msgId xsi:type="SimpleLayout" text="${threadid}" />
<sl:disableBom>true</sl:disableBom>
</sl:rfc5424>
</sl:messageCreation>
</target>
你能解释一下我应该为机器名称放什么吗 - 这是目标主机还是源?如何指定系统日志服务器的 IP?什么是进程和线程ID,它从哪里获取变量?
我在另一台计算机上运行虚拟系统日志服务器来测试这一点。
只需将此配置目标添加到项目的Nlog.config文件中的部分:
<target xsi:type="Syslog" name="syslogTarget">
<sl:layout xsi:type="SimpleLayout" text="${message}" />
<sl:messageSend>
<sl:udp server="127.0.0.1" port="514" connectionCheckTimeout="0" />
</sl:messageSend>
</target>