Exemplo n.º 1
0
        void ILayout.Format(TextWriter writer, LoggingEvent loggingEvent)
        {
            SyslogSeverity severity;
            int            level = loggingEvent.Level.Value;

            if (level <= Level.Debug.Value)
            {
                severity = SyslogSeverity.Debug;
            }
            else if (level <= Level.Info.Value)
            {
                severity = SyslogSeverity.Info;
            }
            else if (level <= Level.Notice.Value)
            {
                severity = SyslogSeverity.Notice;
            }
            else if (level <= Level.Warn.Value)
            {
                severity = SyslogSeverity.Warning;
            }
            else if (level <= Level.Error.Value)
            {
                severity = SyslogSeverity.Error;
            }
            else if (level <= Level.Critical.Value)
            {
                severity = SyslogSeverity.Critical;
            }
            else if (level <= Level.Alert.Value)
            {
                severity = SyslogSeverity.Alert;
            }
            else
            {
                severity = SyslogSeverity.Emergency;
            }

            SyslogMessage message = new SyslogMessage(Dns.GetHostName(), SyslogFacility.User, severity,
                                                      loggingEvent.MessageObject.ToString())
            {
                MessageId = "log4net",
                ProcessID =
                    Process.GetCurrentProcess().Id.ToString(CultureInfo.InvariantCulture),
                ApplicationName = Process.GetCurrentProcess().ProcessName
            };

#pragma warning disable 618
            writer.WriteLine(message.ToRfc3164String());
#pragma warning restore 618
        }