コード例 #1
0
ファイル: LogItem.cs プロジェクト: anionDev/GRYLibrary
 internal void Format(GRYLogConfiguration configuration, out string formattedMessage, out int colorBegin, out int colorEnd, out ConsoleColor consoleColor, GRYLogLogFormat format, string messageIdValue)
 {
     if (!this._FormatingLoaded)
     {
         this.FormatMessage(configuration, this.PlainMessage, this.MomentOfLogEntry, this.LogLevel, format, out string fm, out int cb, out int ce, out ConsoleColor cc, messageIdValue);
         this._FormattedMessage = fm;
         this._ColorBegin       = cb;
         this._ColorEnd         = ce;
         this._ConsoleColor     = cc;
         this._FormatingLoaded  = true;
     }
     formattedMessage = this._FormattedMessage;
     colorBegin       = this._ColorBegin;
     colorEnd         = this._ColorEnd;
     consoleColor     = this._ConsoleColor;
 }
コード例 #2
0
ファイル: LogItem.cs プロジェクト: anionDev/GRYLibrary
        private void FormatMessage(GRYLogConfiguration configuration, string message, DateTime momentOfLogEntry, LogLevel loglevel, GRYLogLogFormat format, out string formattedMessage, out int colorBegin, out int colorEnd, out ConsoleColor consoleColor, string messageIdValue)
        {
            consoleColor = configuration.GetLoggedMessageTypesConfigurationByLogLevel(loglevel).ConsoleColor;
            if (!string.IsNullOrEmpty(configuration.Name))
            {
                message = $"[{configuration.Name.Trim()}] {message}";
            }
            if (configuration.ConvertTimeForLogentriesToUTCFormat)
            {
                momentOfLogEntry = momentOfLogEntry.ToUniversalTime();
            }
            switch (format)
            {
            case GRYLogLogFormat.OnlyMessage:
                formattedMessage = message;
                colorBegin       = 0;
                colorEnd         = 0;
                break;

            case GRYLogLogFormat.GRYLogFormat:
                string messageId;
                if (string.IsNullOrWhiteSpace(messageIdValue))
                {
                    messageId = string.Empty;
                }
                else
                {
                    messageId = $"[{messageIdValue}] ";
                }
                string part1 = $"[{momentOfLogEntry.ToString(configuration.DateFormat)}] {messageId}[";
                string part2 = configuration.GetLoggedMessageTypesConfigurationByLogLevel(loglevel).CustomText;
                string part3 = "] " + message;
                formattedMessage = part1 + part2 + part3;
                colorBegin       = part1.Length;
                colorEnd         = part1.Length + part2.Length;
                break;

            case GRYLogLogFormat.DateOnly:
                formattedMessage = momentOfLogEntry.ToString(configuration.DateFormat) + " " + message;
                colorBegin       = 0;
                colorEnd         = 0;
                break;

            default:
                throw new KeyNotFoundException($"Formatting {nameof(GRYLogLogFormat)} '{loglevel}' is not implemented yet.");
            }
        }
コード例 #3
0
 public static void SaveConfiguration(string configurationFile, GRYLogConfiguration configuration)
 {
     Utilities.PersistToDisk(configuration, configurationFile);
 }