Salmon/Salmon.Service/Watchers/SyslogServer.cs
2025-02-03 19:16:31 +01:00

36 lines
820 B
C#

using NetCoreServer.Syslog;
using System.Net;
using System.Net.Sockets;
namespace Salmon.Service.Watchers;
public class SyslogServer
: Base
, ISyslogMessageHandler
{
public int Port { get; set; } = 514;
NetCoreServer.Syslog.SyslogServer? Server { get; set; } = null;
public override void OnStart()
{
Server = new(Port, NetworkProtocol.UDP, IPAddress.Any, this);
Server.Start();
}
public override void OnStop()
{
Server.Stop();
}
public void OnError(SocketError error)
{
}
public void OnReceived(EndPoint? remoteEndPoint, byte[] buffer, long offset, long size)
{
byte[] data = new byte[size];
Array.Copy(buffer, offset, data, 0, size);
string message = System.Text.Encoding.UTF8.GetString(data);
}
}