protected override void Append(LoggingEvent loggingEvent)
        {
            // LoggingEvent may be used beyond the lifetime of the Append()
            // so we must fix any volatile data in the event
            loggingEvent.Fix = Fix;

            var formattedEvent = RenderLoggingEvent(loggingEvent);
            var logEntry = new LogEntryForConsole
                               {
                                   Level = loggingEvent.Level.Name,
                                   Message = loggingEvent.ExceptionObject != null
                                                 ? loggingEvent.ExceptionObject.Message
                                                 : loggingEvent.RenderedMessage,
                                   TimeStamp = loggingEvent.TimeStamp.ToString("yyyy-MM-dd HH:mm:ss.fff")
                               };

            if (Hub != null)
            {
                Hub.Invoke("OnMessageLogged", logEntry)
                    .ContinueWith(t=>
                                      {
                                          if (t.IsFaulted)
                                          {
                                              Console.WriteLine("error calling OnMessageLogged: "+t.Exception);
                                          }
                                      }
                    ).Wait();
            }
        }
        protected override void Append(LoggingEvent loggingEvent)
        {
            // LoggingEvent may be used beyond the lifetime of the Append()
            // so we must fix any volatile data in the event
            loggingEvent.Fix = Fix;

            var formattedEvent = RenderLoggingEvent(loggingEvent);

            var handler = MessageLogged;
            if (handler != null)
            {
                var logEntry = new LogEntryForConsole
                {
                    Level = loggingEvent.Level.Name,
                    Message = loggingEvent.ExceptionObject != null
                                  ? loggingEvent.ExceptionObject.Message
                                  : loggingEvent.RenderedMessage,
                    TimeStamp = loggingEvent.TimeStamp.ToString("yyyy-MM-dd HH:mm:ss.fff")
                };
                handler(logEntry);
            }
        }
        public void OnMessageLogged(LogEntryForConsole e)
        {
            e.Message = e.Message + Caller.id;

               Clients.onLoggedEvent(e);
        }