コード例 #1
0
ファイル: Logger.cs プロジェクト: thecodemorphic/OpenCBS
        public void AddOutput(ILoggerOutput output)
        {
            if (output == null)
            {
                throw new ArgumentNullException();
            }

            lock (instance)
            {
                if (_output is LoggerOutputList)
                {
                    ((LoggerOutputList)_output).List.Add(output);
                }
                else
                {
                    LoggerOutputList outList = new LoggerOutputList();
                    if (_output != null)
                    {
                        outList.List.Add(_output);
                    }
                    outList.List.Add(output);
                    _output = outList;
                }
            }
        }
コード例 #2
0
ファイル: Logger.cs プロジェクト: Joshsora/Toffee
 /// <summary>
 /// Adds an output to this logger.
 /// </summary>
 /// <param name="output">The output.</param>
 public void AddOutput(ILoggerOutput output)
 {
     if (Outputs.Contains(output))
     {
         return;
     }
     Outputs.Add(output);
 }
コード例 #3
0
ファイル: Logger.cs プロジェクト: thecodemorphic/OpenCBS
 public void ReplaceOutput(ILoggerOutput output)
 {
     if (output == null)
     {
         throw new ArgumentNullException();
     }
     lock (instance)
     {
         _output = output;
     }
 }
コード例 #4
0
 public Logger(ILoggerOutput output) : this()
 {
     outputs.Add(output);
 }
コード例 #5
0
 public Logger(ILoggerOutput logger)
 {
     this.loggerOutput = logger;
 }
コード例 #6
0
 public static Logger GetInstance(ILoggerOutput output, LogLevel level, bool isStackTraceShown)
 {
     return(instance = new Logger(output, level, isStackTraceShown));
 }
コード例 #7
0
 private Logger(ILoggerOutput output, LogLevel level, bool isStackTraceShown)
 {
     this._output           = output;
     this.Level             = level;
     this.IsStackTraceShown = isStackTraceShown;
 }