This is an automated email from the ASF dual-hosted git repository. freeandnil pushed a commit to branch Feature/AsyncRemoteSyslogAppender in repository https://gitbox.apache.org/repos/asf/logging-log4net.git
commit 98ac212a856d7f92cd7dad4824a376303acdaa11 Author: Jan Friedrich <[email protected]> AuthorDate: Wed Jun 11 21:03:37 2025 +0200 code ordering fixed --- ...nousSendingforRemoteSyslogAppenderinlog4net.pdf | Bin 322016 -> 0 bytes src/log4net/Appender/RemoteSyslogAppender.cs | 29 +++++++++------------ 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/docs/AsynchronousSendingforRemoteSyslogAppenderinlog4net.pdf b/docs/AsynchronousSendingforRemoteSyslogAppenderinlog4net.pdf deleted file mode 100644 index b69445fa..00000000 Binary files a/docs/AsynchronousSendingforRemoteSyslogAppenderinlog4net.pdf and /dev/null differ diff --git a/src/log4net/Appender/RemoteSyslogAppender.cs b/src/log4net/Appender/RemoteSyslogAppender.cs index 6444155d..95a79a56 100644 --- a/src/log4net/Appender/RemoteSyslogAppender.cs +++ b/src/log4net/Appender/RemoteSyslogAppender.cs @@ -259,6 +259,10 @@ public enum SyslogFacility Local7 = 23 } + private readonly BlockingCollection<byte[]> _sendQueue = new(); + private CancellationTokenSource? _cts; + private Task? _pumpTask; + /// <summary> /// Initializes a new instance of the <see cref="RemoteSyslogAppender" /> class. /// </summary> @@ -425,12 +429,15 @@ protected virtual void AppendMessage(string message, ref int characterIndex, Str /// Initialize the level to syslog severity mappings set on this appender. /// </para> /// </remarks> - //public override void ActivateOptions() - //{ - // base.ActivateOptions(); - // _levelMapping.ActivateOptions(); - //} - + public override void ActivateOptions() + { + base.ActivateOptions(); + _levelMapping.ActivateOptions(); + // Start the background pump + _cts = new CancellationTokenSource(); + _pumpTask = Task.Run(() => ProcessQueueAsync(_cts.Token), CancellationToken.None); + } + /// <summary> /// Translates a log4net level to a syslog severity. /// </summary> @@ -536,16 +543,6 @@ public class LevelSeverity : LevelMappingEntry /// </remarks> public SyslogSeverity Severity { get; set; } } - private readonly BlockingCollection<byte[]> _sendQueue = new(); - private CancellationTokenSource? _cts; - private Task? _pumpTask; - public override void ActivateOptions() - { - base.ActivateOptions(); - // Start the background pump - _cts = new CancellationTokenSource(); - _pumpTask = Task.Run(() => ProcessQueueAsync(_cts.Token), CancellationToken.None); - } protected override void OnClose() {
