/// <summary> /// Writes the logging event to the zeromq publisher socket. /// </summary> /// <param name="logging_event"> /// The event to log. /// </param> /// <remarks> /// The event is not writted to the zeromq publisher socket immediatelly, /// instead, we store it in a memory and returns. A dedicated thread ( /// possibly from the thead pool) is the responsible to remove the logging /// event from the memory and dispatch to the zeromq socket. /// </remarks> protected override void Append(LoggingEvent logging_event) { LoggingEventData logging_event_data = logging_event.GetLoggingEventData(); #region : logging : if (LogLog.IsDebugEnabled) { LogLog.Debug(declaring_type_, "Appending\r\n" + "message:" + logging_event_data.Message + "timestamp:" + logging_event_data.TimeStamp.ToString("yyyy-mm-dd hh:MM:ss") + "level:" + logging_event_data.Level); } #endregion LogMessage message = new LogMessage.Builder() .SetLevel(logging_event_data.Level.ToString()) .SetMessage(logging_event_data.Message) .SetException(logging_event_data.ExceptionString) .SetTimeStamp(TimeUnitHelper.ToUnixTime(logging_event_data.TimeStamp)) .Build(); mailbox_.Send(message); }