Ejemplo n.º 1
0
        /// <summary>
        /// Set up logging for the tool.
        /// </summary>
        /// <param name="fileLogPath">The path to the desired log file</param>
        /// <param name="flushEachLine">A flag controlling whether to flush each line</param>
        public static void SetupFileLogger(string fileLogPath, bool flushEachLine = true)
        {
            Logger.LogDecorations decorations = Logger.LogDecorations.None;

            // Normal log level for the tool, printing everything but debug messages.
            Logger.LogLevels levels = Logger.LogLevels.All & ~Logger.LogLevels.Debug;
#if DEBUG
            decorations = Logger.LogDecorations.All;
            levels      = Logger.LogLevels.All;
#endif

            FileLog fileLog = new FileLog
            {
                LogLevels      = levels,
                LogDecorations = decorations,
                LogFilePath    = fileLogPath
            };

            fileLog.FlushEachLine = flushEachLine;

            Logger.Info(
                "Log file is located under: {0}",
                fileLog.LogFilePath);
            Logger.Info();

            AddProvider(fileLog);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Processes and returns the log message
        /// </summary>
        /// <param name="logDecoration">log decoration</param>
        /// <param name="logLevel">log level</param>
        /// <returns>log message</returns>
        public string GetLogMessage(Logger.LogDecorations logDecoration, Logger.LogLevels logLevel)
        {
            StringBuilder messageBuilder = new StringBuilder(this.logMessage.Length);

            messageBuilder.Insert(0, this.logMessage);
            if (logDecoration != Logger.LogDecorations.None)
            {
                if (logDecoration.HasFlag(Logger.LogDecorations.Detail))
                {
                    messageBuilder.Insert(0, this.logDetailInfo);
                }

                if (logDecoration.HasFlag(Logger.LogDecorations.LogLevel))
                {
                    messageBuilder.Insert(0, this.logLevelInfo);
                }

                if (logDecoration.HasFlag(Logger.LogDecorations.Time))
                {
                    messageBuilder.Insert(0, this.logTimeInfo);
                }
            }

            // Check to see if we need to add exception info to message.
            if (logLevel.HasFlag(Logger.LogLevels.ExpStack) &&
                (this.logMessageArgs != null) &&
                (this.logMessageArgs[0] is ExpMessageArg))
            {
                messageBuilder.Append(Environment.NewLine + this.GetExceptionStackLog());
            }

            return(messageBuilder.ToString());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Setup console logging for the tool
        /// </summary>
        public static void SetupConsoleLogger()
        {
            Logger.LogDecorations decorations = Logger.LogDecorations.None;

            // Normal log level for the tool, printing everything but debug messages.
            Logger.LogLevels levels = Logger.LogLevels.All & ~Logger.LogLevels.Debug;
#if DEBUG
            decorations = Logger.LogDecorations.All;
            levels      = Logger.LogLevels.All;
#endif

            ConsoleLog consoleLog = new ConsoleLog
            {
                LogLevels      = levels,
                LogDecorations = decorations
            };

            AddProvider(consoleLog);
        }