Log4net - «Файл в настоящее время не заблокирован». Исключение в пользовательском приложении, журнал не записанC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Log4net - «Файл в настоящее время не заблокирован». Исключение в пользовательском приложении, журнал не записан

Сообщение Anonymous »

В библиотеке классов .NET 2.0 я пытаюсь написать свой собственный RollingFileAppender , который будет работать с буфером, который будет периодически промывать. Причиной этого является необходимость в том, чтобы мои существующие журналы RollingFileAppender записывали сжатые и зашифрованные журналы, которые будут работать лучше с буфером. /> Файл журнала не записан.appender.LockingModel = new FileAppender.MinimalLock();
перед вызовом appender.activateoptions ();
[*] Вызов LockingModel.AcquireLock () перед доступом к автору (а также LockingModel.ReleaseLock () после)
Считается, что внедрение обработки журнала в PatternLayoutConverter < /code>, но она становится грязной, когда у меня есть несколько приложений, использующих один и тот же статический конвертер.private readonly ConcurrentQueue _buffer = new ConcurrentQueue();
private readonly Timer _flushTimer;
public int BufferSizeThreshold { get; set; } = 250;
public TimeSpan BufferFlushInterval { get; set; } = TimeSpan.FromSeconds(5);

public EncryptingCompressingRollingAppender()
{
_flushTimer = new Timer(_ => Flush(), null, BufferFlushInterval, BufferFlushInterval);
}

protected override void Append(LoggingEvent loggingEvent)
{
var rendered = RenderLoggingEvent(loggingEvent);

_buffer.Enqueue(rendered);
if (_buffer.Count >= BufferSizeThreshold)
{
Flush();
}
}

private void Flush()
{
if (_buffer.IsEmpty)
return;

// Dequeue entire buffer into string
var log = DequeueBufferToString();
if (string.IsNullOrEmpty(log))
return;

// Compressing and encrypting buffer
var compressed = Compress(log);
var encrypted = Encrypt(compressed);

// Write to file
Writer.WriteLine(encrypted); // This will be base64 since it's not a binary file
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... nder-log-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • С# проверьте, заблокирован ли текстовый файл ASCII/записан или записывается
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Файл .exe Записан в Python закрывается, в настоящее время выбранное приложение при открытии
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Файл .exe Записан в Python закрывается, в настоящее время выбранное приложение при открытии
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Log4net TelNetAppender не работает после перехода на log4net 3
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Log4net TelNetAppender: ObjectDisposeException с log4net 3.0
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»