Skip to content

Conversation

yogitasingh001
Copy link
Contributor

This PR addresses a major performance bottleneck in RemoteSyslogAppender, where synchronous .Wait() calls were blocking high-throughput applications.

Summary of Changes
Introduced a background task and queue (producer-consumer model) for async UDP sends
Removed thread-blocking .Wait() from Append() method
Ensured graceful shutdown with cancellation tokens
Documentation included at docs/AsynchronousSendingforRemoteSyslogAppenderinlog4net.pdf

Request
Please consider reviewing and including this change in a future release. We rely on log4net and would prefer not to maintain a separate fork.

@FreeAndNil
Copy link
Contributor

@yogitasingh001 thanks for your proposal.
I will take a deeper look this week.

@yogitasingh001
Copy link
Contributor Author

@FreeAndNil thanks

@FreeAndNil
Copy link
Contributor

implements #255
@yogitasingh001 I've converted your pdf into an issue.

@FreeAndNil FreeAndNil changed the base branch from master to Feature/ImprovementRemoteSyslogApp June 11, 2025 20:28
@FreeAndNil FreeAndNil self-assigned this Jun 11, 2025
@FreeAndNil FreeAndNil added this to the 3.1.1 milestone Jun 11, 2025
Copy link
Contributor

@FreeAndNil FreeAndNil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will merge your PR into https://github.com/apache/logging-log4net/tree/Feature/ImprovementRemoteSyslogApp and work in this branch.
Thanks for your proposal and solution.

@FreeAndNil FreeAndNil merged commit ed3ed52 into apache:Feature/ImprovementRemoteSyslogApp Jun 11, 2025
3 checks passed
FreeAndNil pushed a commit that referenced this pull request Jun 16, 2025
FreeAndNil pushed a commit that referenced this pull request Jun 19, 2025
@FreeAndNil
Copy link
Contributor

@yogitasingh001
Copy link
Contributor Author

Ok @FreeAndNil i will test and update. Sorry for the late response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants