NLog Syslog is a custom target for NLog version 2.0 allowing you to send logging messages to a UNIX-style Syslog server.
To use NLog Syslog, you simply wire it up as an extension in the NLog.config file and place the NLog.Targets.Syslog.dll in the same location as the NLog.dll & NLog.config files. Then use as you would any NLog target. To use TCP as transport protocol just specify protocol="tcp" in target configuration. Below is a sample NLog.config file:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="https://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.Targets.Syslog" />
</extensions>
<targets>
<target name="syslog" type="Syslog" syslogserver="127.0.0.1" port="514" facility="Local7" sender="MyProgram" layout="[CustomPrefix] ${machinename} ${message}/>
</targets>
<rules>
<logger name="*" minLevel="Trace" appendTo="syslog"/>
</rules>
</nlog>
The package is also available through NuGet. Simply search for "NLog.Targets.Syslog".
See more about NLog at: https://nlog-project.org