private void TemporaryReaderLoop(object state) { var token = (CancellationToken)state; while (!token.IsCancellationRequested) { try { var data = _reader.GetRecord(); if (data != null && _logger.Write(data)) { _reader.RecordCompleted(); } else { token.WaitHandle.WaitOne(_sleepTime); } } catch (Exception ex) { _thisClassSupportLogger.Error(ex, "Error while working with temporary reliable storage of logs"); throw; } } }
public bool Write(Common.LoggingEvent data) { if (_isDisposed) { _thisClassSupportLogger.Error("Attempt to write LoggingEvent in Disposed state"); return(false); } if (!_logger.Write(data)) { lock (_writer) { _writer.Write(data); } } return(true); }
public bool Write(LoggingEvent data) { if (_isDisposed) { _thisClassSupportLogger.Error("Attempt to write LoggingEvent in Disposed state"); return(false); } if (data.Level.Level.CompareTo(LogLevel.Error.Level) >= 0) { _logger.Write(data); } else { if (TryAdd(data)) { if (ElementCount < _borderOverflow && Interlocked.CompareExchange(ref _isOverflowed, IS_NOT_OVERFLOWED, IS_OVERFLOWED) == IS_OVERFLOWED) { _thisClassSupportLogger.Info("Async queue now is not overflowed"); } } else { if (Interlocked.CompareExchange(ref _isOverflowed, IS_OVERFLOWED, IS_NOT_OVERFLOWED) == IS_NOT_OVERFLOWED) { _thisClassSupportLogger.Info("Async queue overflow detected"); } if (_isDiscardExcess) { return(false); } Add(data); } } return(true); }
public bool Write(LoggingEvent data) { if (_isDisposed) { _thisClassSupportLogger.Error("Attempt to write LoggingEvent in Disposed state"); return(false); } string pattern = _templateConverter.Convert(data); ILoggingEventWriter curWriter = null; if (pattern == null || !_match.TryGetValue(pattern, out curWriter)) { curWriter = _default; } if (curWriter != null) { return(curWriter.Write(data)); } return(true); }
/// <summary> /// Write the log message /// </summary> /// <param name="data">Log message</param> bool ILoggingEventWriter.Write(LoggingEvent data) { return(_logger.Write(data)); }