Пример #1
0
        private static void OnLogMessageReceived(object sender, LogMessageReceivedEventArgs e)
        {
            // Note: it's valid for sender to be null in this function
            if (e == null)
            {
                ASF.ArchiLogger.LogNullError(nameof(e));
                return;
            }

            if (string.IsNullOrEmpty(e.Message))
            {
                return;
            }

            string message = e.Source + " | " + e.Message;

            switch (e.MessageType)
            {
            case LogMessageType.Error:
            case LogMessageType.Warning:
                ASF.ArchiLogger.LogGenericWarning(message);
                break;

            case LogMessageType.Info:
                ASF.ArchiLogger.LogGenericDebug(message);
                break;

            default:
                ASF.ArchiLogger.LogGenericTrace(message);
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Gets the color of the output of the message (the output message has a new line char in the end).
        /// </summary>
        /// <param name="logEvent">The <see cref="LogMessageReceivedEventArgs" /> instance containing the event data.</param>
        /// <returns>
        /// The output message formatted and the color of the console to be used.
        /// </returns>
        protected (string outputMessage, ConsoleColor color) GetOutputAndColor(LogMessageReceivedEventArgs logEvent)
        {
            var(prefix, color) = GetConsoleColorAndPrefix(logEvent.MessageType);

            var loggerMessage = string.IsNullOrWhiteSpace(logEvent.Message)
                ? string.Empty
                : logEvent.Message.RemoveControlChars('\n');

            var outputMessage = CreateOutputMessage(logEvent.Source, loggerMessage, prefix, logEvent.UtcDate);

            // Further format the output in the case there is an exception being logged
            if (logEvent.MessageType == LogLevel.Error && logEvent.Exception != null)
            {
                try
                {
                    outputMessage += $"{logEvent.Exception.Stringify().Indent()}{Environment.NewLine}";
                }
                catch
                {
                    // Ignore
                }
            }

            return(outputMessage, color);
        }
Пример #3
0
        /// <inheritdoc />
        public void Log(LogMessageReceivedEventArgs logEvent)
        {
            // Process Log
            if (string.IsNullOrWhiteSpace(logEvent.Message) ||
                ClientAddress == null ||
                !FailRegex.Any() ||
                _whitelist.Contains(ClientAddress) ||
                Blacklist.ContainsKey(ClientAddress))
            {
                return;
            }

            foreach (var regex in FailRegex.Values)
            {
                try
                {
                    if (!regex.IsMatch(logEvent.Message))
                    {
                        continue;
                    }

                    // Add to list
                    AddAccessAttempt(ClientAddress);
                    UpdateBlackList();
                    break;
                }
                catch (RegexMatchTimeoutException ex)
                {
                    $"Timeout trying to match '{ex.Input}' with pattern '{ex.Pattern}'.".Error(nameof(IPBanningModule));
                }
            }
        }
Пример #4
0
        private static void OnLogMessageReceived(LogMessageReceivedEventArgs args)
        {
            switch (args.Type)
            {
            case LogMessageType.Info:
                Interface.Oxide.LogInfo(args.Message.ToString());
                break;

            case LogMessageType.Debug:
                Interface.Oxide.LogDebug(args.Message.ToString());
                break;

            case LogMessageType.Warning:
                Interface.Oxide.LogWarning(args.Message.ToString());
                break;

            case LogMessageType.Error:
                Interface.Oxide.LogError(args.Message.ToString());
                break;

            case LogMessageType.Exception:
                Interface.Oxide.LogException(args.Message.ToString(), args.Exception);
                break;
            }
        }
Пример #5
0
        /// <summary>
        /// Logs the specified log event.
        /// </summary>
        /// <param name="logEvent">The <see cref="T:Swan.LogMessageReceivedEventArgs" /> instance containing the event data.</param>
        public void Log(LogMessageReceivedEventArgs logEvent)
        {
            switch (logEvent.MessageType)
            {
            case LogLevel.None:
                break;

            case LogLevel.Info:
                _logger.Information("{@logEvent}", logEvent);
                break;

            case LogLevel.Trace:
                _logger.Verbose("{@logEvent}", logEvent);
                break;

            case LogLevel.Debug:
                _logger.Debug("{@logEvent}", logEvent);
                break;

            case LogLevel.Warning:
                _logger.Warning("{@logEvent}", logEvent);
                break;

            case LogLevel.Error:
                _logger.Error("{@logEvent}", logEvent);
                break;

            case LogLevel.Fatal:
                _logger.Fatal("{@logEvent}", logEvent);
                break;
            }
        }
Пример #6
0
        public void CreateInstance()
        {
            var message = new LogMessage();
            var appId   = "the app";

            var target = new LogMessageReceivedEventArgs(message, appId);

            Assert.Equal(message, target.Message);
            Assert.Equal(appId, target.ApplicationId);
        }
            /// <inheritdoc />
            public void Log(LogMessageReceivedEventArgs logEvent)
            {
                var clientAddress = _parent._parent.ClientAddress;

                if (clientAddress == null || string.IsNullOrWhiteSpace(logEvent.Message))
                {
                    return;
                }

                _parent.MatchIP(clientAddress, logEvent.Message);
            }
Пример #8
0
        private static void OnLogMessageReceived(LogMessageReceivedEventArgs args)
        {
            lock (consoleLock)
            {
                switch (args.Type)
                {
                case LogMessageType.Info:
                    PushForegroundColor(ConsoleColor.Gray);
                    WriteLine(args.Message);
                    PopForegroundColor();
                    break;

                case LogMessageType.Debug:
                    PushForegroundColor(ConsoleColor.Yellow);
                    WriteLine(args.Message);
                    PopForegroundColor();
                    break;

                case LogMessageType.Warning:
                    PushForegroundColor(ConsoleColor.DarkYellow);
                    WriteLine(args.Message);
                    PopForegroundColor();
                    break;

                case LogMessageType.Error:
                    PushForegroundColor(ConsoleColor.Red);
                    WriteLine(args.Message);
                    PopForegroundColor();
                    break;

                case LogMessageType.Exception:
                    PushForegroundColor(ConsoleColor.Red);

                    if (args.Message != null)
                    {
                        WriteLine(args.Message);
                    }

                    WriteException(args.Exception);

                    PopForegroundColor();
                    break;
                }
            }
        }
Пример #9
0
            public void Log(LogMessageReceivedEventArgs logEvent)
            {
                var loglevel = logEvent.MessageType switch
                {
                    LogLevel.Error => StreamCompanionTypes.Enums.LogLevel.Error,
                    LogLevel.Fatal => StreamCompanionTypes.Enums.LogLevel.Critical,
                    _ => StreamCompanionTypes.Enums.LogLevel.Debug
                };

                if (logEvent.Exception != null)
                {
                    _logger.Log(logEvent.Exception, loglevel);
                }
                else
                {
                    _logger.Log(logEvent.Message, loglevel);
                }
            }
Пример #10
0
 void OnLogMessageReceived(object sender, LogMessageReceivedEventArgs args)
 {
     UnityMainThreadDispatcher.Instance().Enqueue((() =>
     {
         //if ((args.MessageType & (LogMessageType.None | LogMessageType.Trace | LogMessageType.Debug | LogMessageType.Info)) != 0)
         //{
         //    Debug.Log(args.Message);
         //}
         //else
         if ((args.MessageType & (LogMessageType.Warning)) != 0)
         {
             Debug.LogWarning(args.Message);
         }
         else if ((args.MessageType & (LogMessageType.Error | LogMessageType.Fatal)) != 0)
         {
             Debug.LogError(args.Message);
         }
     }));
 }
Пример #11
0
        private void AccountManager_OnLogMessage(object sender, LogMessageReceivedEventArgs e)
        {
            var messageText = e.LogMessage.MessageText;

            // TODO: Allow selection of the deterministic seed's language
            if (messageText.StartsWith("0", StringComparison.Ordinal))
            {
                SendConsoleCommand("0");
                return;
            }

            if (messageText.StartsWith("*", StringComparison.Ordinal))
            {
                OnLogMessage -= AccountManager_OnLogMessage;
                Restart();
            }

            if (messageText.Contains("saved"))
            {
                Dispose();
            }
        }
Пример #12
0
 public void Log(LogMessageReceivedEventArgs logEvent)
 {
     _logger.Log(logEvent.Message, StreamCompanionTypes.Enums.LogLevel.Debug);
 }
Пример #13
0
        /// <inheritdoc/>
        public void Log(LogMessageReceivedEventArgs logEvent)
        {
            var(outputMessage, _) = GetOutputAndColor(logEvent);

            System.Diagnostics.Debug.Write(outputMessage);
        }
Пример #14
0
        /// <inheritdoc/>
        public void Log(LogMessageReceivedEventArgs logEvent)
        {
            ConsoleLogger.GetOutputAndColor(logEvent, true, out var outputMessage);

            System.Diagnostics.Debug.Write(outputMessage);
        }
Пример #15
0
 public void Log(LogMessageReceivedEventArgs logEvent)
 {
     _baseLogger.Log(TranslateLogLevel(logEvent.MessageType), logEvent.Message);
 }