public ZmqLogger(string keyName, SocketManager socketManager)
        {
            this.keyName = keyName;
            this.socketManager = socketManager;

            this.sender = this.socketManager.CreateSocketForKey(keyName, SocketType.PUSH);

            this.sender.Linger = 0;

            this.sender.Connect("inproc://loggers");
        }
        public static void Start(int port)
        {
            socketManager = new SocketManager();

            publisherThread = new Thread(() => ListenAndPublishLogMessages(port));
            publisherThread.Start();

            while(!running)
            {
            }

            LoggerProvider.SetLoggersFactory(new ZmqLoggerFactory(socketManager));
        }
 public ZmqLoggerFactory(SocketManager socketManager)
 {
     this.socketManager = socketManager;
     this.loggers = new ConcurrentDictionary<string, IInternalLogger>();
 }