private static void OnLogRecord(LogRecord record)
        {
            hub.Clients.Group(record.Source.ToString()).OnLogRecord(record);

            if (record.Type == LogRecordType.Error)
                hub.Clients.Group("Errors").OnLogRecord(record);

            hub.Clients.Group("All").OnLogRecord(record);
        }
Beispiel #2
0
        public void AddGatewayError(string message)
        {
            LogRecord logRecord = new LogRecord(LogRecordSource.Gateway, LogRecordType.Error, message);

            if (consoleConfig.ShowGatewayState || consoleConfig.ShowAllErrors)
                Show(logRecord);

            OnGatewayLogError?.Invoke(logRecord);

            if (config.StoreGatewayState)
            {
                lock (gatewayLogLock)
                {
                    gatewayLog.Add(logRecord);
                    if (gatewayLog.Count > config.MaxGatewayState)
                        gatewayLog.RemoveAt(0);
                }
            }
        }
Beispiel #3
0
        public void AddGatewayDecodedMessage(Message message)
        {
            LogRecord logRecord = new LogRecord(LogRecordSource.GatewayDecodedMessages, LogRecordType.Info, message.ToString());

            if (consoleConfig.ShowGatewayDecodedMessages)
                Show(logRecord);

            OnGatewayDecodedMessageLog?.Invoke(message);

            if (config.StoreGatewayDecodedMessages)
            {
                lock (gatewayDecodedMessagesLogLock)
                {
                    gatewayDecodedMessagesLog.Add(message);
                    if (gatewayDecodedMessagesLog.Count > config.MaxGatewayDecodedMessages)
                        gatewayDecodedMessagesLog.RemoveAt(0);
                }
            }
        }
Beispiel #4
0
        public static void Show(LogRecord record)
        {
            if (record.Type == LogRecordType.Error)
                Console.ForegroundColor = ConsoleColor.Red;
            else
            {
                switch (record.Source)
                {
                    case LogRecordSource.Gateway:
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;
                    case LogRecordSource.GatewayMessages:
                        Console.ForegroundColor = ConsoleColor.DarkGreen;
                        break;
                    case LogRecordSource.GatewayDecodedMessages:
                        Console.ForegroundColor = ConsoleColor.DarkGreen;
                        break;
                    case LogRecordSource.DataBase:
                        Console.ForegroundColor = ConsoleColor.Gray;
                        break;
                    case LogRecordSource.NodesEngine:
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        break;
                    case LogRecordSource.Nodes:
                        Console.ForegroundColor = ConsoleColor.DarkCyan;
                        break;
                    case LogRecordSource.System:
                        Console.ForegroundColor = ConsoleColor.White;
                        break;
                }
            }

            Console.WriteLine(record.ToStringWithType());
            Console.ForegroundColor = ConsoleColor.Gray;
        }
Beispiel #5
0
        public void AddSystemError(string message)
        {
            LogRecord logRecord = new LogRecord(LogRecordSource.System, LogRecordType.Error, message);

            if (consoleConfig.ShowSystemState || consoleConfig.ShowAllErrors)
                Show(logRecord);

            OnSystemLogError?.Invoke(logRecord);

            if (config.StoreSystemState)
            {
                lock (systemLogLock)
                {
                    systemLog.Add(logRecord);
                    if (systemLog.Count > config.MaxSystemState)
                        systemLog.RemoveAt(0);
                }
            }
        }
Beispiel #6
0
        public void AddNodeError(string message)
        {
            LogRecord logRecord = new LogRecord(LogRecordSource.Nodes, LogRecordType.Error, message);

            if (consoleConfig.ShowNodesEngineNodes || consoleConfig.ShowAllErrors)
                Show(logRecord);

            OnNodeLogError?.Invoke(logRecord);

            if (config.StoreNodesEngineNodes)
            {
                lock (nodesLogLock)
                {
                    nodesLog.Add(logRecord);
                    if (nodesLog.Count > config.MaxNodesEngineNodes)
                        nodesLog.RemoveAt(0);
                }
            }
        }
Beispiel #7
0
        public void AddNodesEngineInfo(string message)
        {
            LogRecord logRecord = new LogRecord(LogRecordSource.NodesEngine, LogRecordType.Info, message);

            if (consoleConfig.ShowNodesEngineState)
                Show(logRecord);

            OnNodesEngineLogInfo?.Invoke(logRecord);

            if (config.StoreNodesEngineState)
            {
                lock (nodesEngineLogLock)
                {
                    nodesEngineLog.Add(logRecord);
                    if (nodesEngineLog.Count > config.MaxNodesEngineState)
                        nodesEngineLog.RemoveAt(0);
                }
            }
        }
Beispiel #8
0
        public void AddDataBaseError(string message)
        {
            LogRecord logRecord = new LogRecord(LogRecordSource.DataBase, LogRecordType.Error, message);

            if (consoleConfig.ShowDataBaseState || consoleConfig.ShowAllErrors)
                Show(logRecord);

            OnDataBaseLogError?.Invoke(logRecord);

            if (config.StoreDataBaseState)
            {
                lock (dataBaseLogLock)
                {
                    dataBaseLog.Add(logRecord);
                    if (dataBaseLog.Count > config.MaxDataBaseState)
                        dataBaseLog.RemoveAt(0);
                }
            }
        }