} // End Function AllowAnything public static void Main(string[] args) { MyStructuredData msd = new MyStructuredData(); System.Collections.Generic.Dictionary <string, string> dict = SyslogNet.Client.LinqHelper.GetStringDictionary(msd); System.Console.WriteLine(dict); System.Reflection.MemberInfo[] tnP = SyslogNet.Client.LinqHelper.GetFieldsAndProperties(msd.GetType()); SyslogNet.Client.Getter_t <MyStructuredData>[] gettrs = SyslogNet.Client.LinqHelper.GetGetters <MyStructuredData>(); SyslogNet.Client.Setter_t <MyStructuredData>[] settrs = SyslogNet.Client.LinqHelper.GetSetters <MyStructuredData>(); object o = gettrs[6](msd); System.Console.WriteLine(o); System.DateTime?dt = SyslogNet.Client.LinqHelper.ChangeType <System.DateTime?>(gettrs[5](msd)); System.Console.WriteLine(dt); settrs[6](msd, dt); // System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AllowAnything); // SyslogNet.Client.SyslogOptions options = null; // delegate (SyslogNet.Client.SyslogOptions a) { options = a; } // CommandLine.Parser.Default.ParseArguments<Options>(args).WithParsed(opt => options = opt); // CommandLine.ParserResultExtensions.WithParsed(CommandLine.Parser.Default.ParseArguments<Options>(args), opt => options = opt); SyslogNet.Client.SyslogOptions options = new SyslogNet.Client.SyslogOptions(); // options.SyslogVersion = SyslogNet.Client.SyslogVersions.Rfc3164; options.SyslogVersion = SyslogNet.Client.SyslogVersions.Rfc5424; options.NetworkProtocol = SyslogNet.Client.NetworkProtocols.TCP; // options.NetworkProtocol = SyslogNet.Client.NetworkProtocols.UPD; // options.SyslogServerPort = 515; // Visual Syslog options.InferDefaultPort(); System.Console.WriteLine(options); string logMessage = "Test message 112 äöüÄÖÜß 你好世界 Привет мир"; // logMessage = "test123"; SyslogNet.Client.SyslogMessage msg1 = CreateSyslogMessage(options, logMessage); msg1.Send(options); System.Console.WriteLine("Sent " + msg1.Message); System.Console.WriteLine(" --- Press any key to continue --- "); System.Console.ReadKey(); } // End Sub Main
/// <summary> /// Writes the specified message to the event log as an information event /// with the specified event ID. /// </summary> /// <param name="message"> /// The message to be written to the log. /// </param> /// <param name="id"> /// The event ID to use for the event being written. /// </param> public static void WriteInformationEvent(string message, int processId, string messageId) { // TODO: Maybe we want to pass the process name here, rather than the numeric ID. SyslogNet.Client.SyslogMessage syslogMessage = new SyslogNet.Client.SyslogMessage( System.DateTimeOffset.Now, SyslogNet.Client.Facility.UserLevelMessages, SyslogNet.Client.Severity.Informational, FullyQualifiedHostName, AppName, processId.ToString(), messageId, message); Sender.Send(syslogMessage, Serializer); }
/* * /// <summary> * /// Writes the specified message to syslog as an information event. * /// </summary> * /// <param name="message"> * /// The message to be written. * /// </param> * /// <param name="messageId"> * /// Identifies the type of message being sent. * /// </param> * public void WriteInformationEvent(string message, string messageId) * { * SendMessage(message, messageId, SyslogNet.Client.Severity.Informational); * } * * public void WriteWarningEvent(string message, string messageId) * { * SendMessage(message, messageId, SyslogNet.Client.Severity.Warning); * } * * public void WriteErrorEvent(string message, string messageId) * { * SendMessage(message, messageId, SyslogNet.Client.Severity.Error); * } */ /// <summary> /// Sends the message to the syslog server. /// </summary> /// <param name="message"> /// The text of the message to be sent. /// </param> /// <param name="messageId"> /// The message identifier. /// </param> /// <param name="severity"> /// The severity of the message. /// </param> public void SendMessage(string message, string messageId, SyslogNet.Client.Severity severity) { System.Net.IPHostEntry hostEntry = null; try { hostEntry = System.Net.Dns.GetHostEntry(hostname); } catch (System.Net.Sockets.SocketException) { hostEntry = null; } if (hostEntry == null) { // TODO: Cache these events. } else { SyslogNet.Client.SyslogMessage syslogMessage = new SyslogNet.Client.SyslogMessage( System.DateTimeOffset.Now, SyslogNet.Client.Facility.UserLevelMessages, severity, Settings.FullyQualifiedHostName, AppName, null, messageId, message); if (string.Compare(protocol, "TCP", true) == 0) { if (HostIsAvailableViaTcp(5)) { Sender.Send(syslogMessage, Serializer); } else { // TODO: Cache these events. } } else if (string.Compare(protocol, "UDP", true) == 0) { Sender.Send(syslogMessage, Serializer); } } }
private SyslogNet.Client.SyslogMessage BuildSyslogMessage(LogEvent logEvent) { var formattedMessage = this.GetFormattedMessage(logEvent); var severity = GetSyslogSeverity(logEvent.Level); DateTimeOffset dtOffset = new DateTimeOffset(DateTime.Now.ToUniversalTime()); var facility = SyslogNet.Client.Facility.LocalUse1; string procId = System.Diagnostics.Process.GetCurrentProcess().Id.ToString(); string msgId = null; string hostName = Dns.GetHostName(); Dictionary <string, string> properties = new Dictionary <string, string>(); foreach (var property in logEvent.Properties) { properties.Add(property.Key, property.Value.ToString()); } SyslogNet.Client.StructuredDataElement sdElement = new SyslogNet.Client.StructuredDataElement("1", properties); SyslogNet.Client.SyslogMessage message = new SyslogNet.Client.SyslogMessage(dtOffset, facility, severity, hostName, this.AppName, procId, msgId, formattedMessage, sdElement); return(message); }