Exemple #1
0
        public void Log(LogMessage logMessage)
        {
            switch (logMessage.Type)
            {
            case LogEntryType.FatalWithScreenshot:
                Logger.Fatal(logMessage.Text, logMessage.Args);
                ProgressLog?.Report(logMessage);
                ErrorLog?.Report(new LogMessage(logMessage.Text + " -- " + SaveErrorScreenshot()));
                break;

            case LogEntryType.Fatal:
                Logger.Fatal(logMessage.Text, logMessage.Args);
                ProgressLog?.Report(logMessage);
                ErrorLog?.Report(logMessage);
                break;

            case LogEntryType.Error:
                Logger.Error(logMessage.Text, logMessage.Args);
                ErrorLog?.Report(logMessage);
                break;

            case LogEntryType.Warning:
            case LogEntryType.Normal:
                Logger.Info(logMessage.Text, logMessage.Args);
                ProgressLog?.Report(logMessage);
                break;

            case LogEntryType.Info:
                Logger.Info(logMessage.Text, logMessage.Args);
                break;

            case LogEntryType.Debug:
                if (Settings.Default.LogDebugMessages)
                {
                    Logger.Debug(logMessage.Text, logMessage.Args);
                }
                break;

            case LogEntryType.Trace:
                if (Settings.Default.LogTraceMessages)
                {
                    Logger.Debug(logMessage.Text, logMessage.Args);
                }
                break;
            }
        }