He creado un apéndice de log4net personalizado. Desciende de log4net.Appender.SmtpAppender que desciende de log4net.Appender.BufferingAppenderSkeleton.¿Por qué no está mi buffering log4net buffering?
que programáticamente configuración de los siguientes parámetros en su constructor:
this.Lossy = false; //don't drop any messages
this.BufferSize = 3; //buffer up to 3 messages
this.Threshold = log4net.Core.Level.Error; //append messages of Error or higher
this.Evaluator = new log4net.Core.LevelEvaluator(Level.Off); //don't flush the buffer for any message, regardless of level
me esperaba esto podría amortiguar 3 eventos de error o superiores y entregar esos eventos cuando se llena la memoria intermedia. Sin embargo, estoy descubriendo que los eventos no están amortiguados en absoluto; en su lugar, SendBuffer() se llama inmediatamente cada vez que se registra un error.
¿Hay algún error en mi configuración?
Gracias
Según tengo entendido, le indica al encesador que descargue cuando se recibe un mensaje que excede el umbral especificado. http://logging.apache.org/log4net/release/sdk/log4net.Core.LevelEvaluator.html También entiendo que Level.Off es el umbral más alto. http://logging.apache.org/log4net/release/sdk/log4net.Core.Level.Off.html ¿Alguno de estos es incorrecto? – Eric
@Eric: ver mi respuesta actualizada. –
muy bien hecho. Eso está funcionando para mí. Gracias. – Eric