Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SyslogLoggerConfigurationExtensions Cleanup #25

Closed
colin-anderson opened this issue Feb 26, 2021 · 0 comments · Fixed by #26
Closed

SyslogLoggerConfigurationExtensions Cleanup #25

colin-anderson opened this issue Feb 26, 2021 · 0 comments · Fixed by #26

Comments

@colin-anderson
Copy link
Contributor

@Kevin-Andrew made a few sane suggestions to tody up SyslogLoggerConfigurationExtensions ctors after some recent additions (#21).

It's always a real chore when making changes to these ctors, but the tider we keep them now, the better for later 😅

Kevin-Andrew added a commit to Kevin-Andrew/serilog-sinks-syslog that referenced this issue Feb 27, 2021
See Issue IonxSolutions#25 for more details. When using the `UdpSyslog()` extension method, if the `format` parameter was set to `SyslogFormat.RFC5424`, it would cause an `ArgumentNullException` later on when trying to send an event. The `messageIdPropertyName` optional parameter was defaulted to `null` in that case and would cause the exception when it was used to look up the property key in the `Dictionary<>`.

We now default the `messageIdPropertyName` parameter to "SourceContext" in all places necessary.
Kevin-Andrew added a commit to Kevin-Andrew/serilog-sinks-syslog that referenced this issue Feb 27, 2021
See Issue IonxSolutions#25 for more details. When using the `UdpSyslog()` extension method, if the `format` parameter was set to `SyslogFormat.RFC5424`, it would cause an `ArgumentNullException` later on when trying to send an event. The `messageIdPropertyName` optional parameter was defaulted to `null` in that case and would cause the exception when it was used to look up the property key in the `Dictionary<>`.

We now default the `messageIdPropertyName` parameter to "SourceContext" in all places necessary.

Refactored the `UdpSyslogReceiver` class to model it after the `TcpSyslogReceiver` class such that is will itself obtain a random port to listen on, instead of creating a separate `Socket` just to get a port. As well as support listening on both IPv4 and IPv6 via `DualMode`.
Kevin-Andrew added a commit to Kevin-Andrew/serilog-sinks-syslog that referenced this issue Feb 27, 2021
See Issue IonxSolutions#25 for more details. When using the `UdpSyslog()` extension method, if the `format` parameter was set to `SyslogFormat.RFC5424`, it would cause an `ArgumentNullException` later on when trying to send an event. The `messageIdPropertyName` optional parameter was defaulted to `null` in that case and would cause the exception when it was used to look up the property key in the `Dictionary<>`.

We now default the `messageIdPropertyName` parameter to "SourceContext" in all places necessary.

Refactored the `UdpSyslogReceiver` class to model it after the `TcpSyslogReceiver` class such that is will itself obtain a random port to listen on, instead of creating a separate `Socket` just to get a port. As well as support listening on both IPv4 and IPv6 via `DualMode`.

Also addressed Issue IonxSolutions#20 where some Unit Tests had timeout values of 4,000 and 6,000 seconds. While they never had to actually wait that long, the code was misleading. Changed to use a computed value based upon the sending time of the `PeriodicBatchingSinkOptions`.
Kevin-Andrew added a commit to Kevin-Andrew/serilog-sinks-syslog that referenced this issue Feb 27, 2021
See Issue IonxSolutions#25 for more details. When using the `UdpSyslog()` extension method, if the `format` parameter was set to `SyslogFormat.RFC5424`, it would cause an `ArgumentNullException` later on when trying to send an event. The `messageIdPropertyName` optional parameter was defaulted to `null` in that case and would cause the exception when it was used to look up the property key in the `Dictionary<>`.

We now default the `messageIdPropertyName` parameter to "SourceContext" in all places necessary.

Refactored the `UdpSyslogReceiver` class to model it after the `TcpSyslogReceiver` class such that is will itself obtain a random port to listen on, instead of creating a separate `Socket` just to get a port. As well as support listening on both IPv4 and IPv6 via `DualMode`.

Also addressed Issue IonxSolutions#20 where some Unit Tests had timeout values of 4,000 and 6,000 seconds. While they never had to actually wait that long, the code was misleading. Changed to use a computed value based upon the sending time of the `PeriodicBatchingSinkOptions`.
@Kevin-Andrew Kevin-Andrew linked a pull request Mar 22, 2021 that will close this issue
Kevin-Andrew added a commit to Kevin-Andrew/serilog-sinks-syslog that referenced this issue Mar 24, 2021
See Issue IonxSolutions#25 for more details. When using the `UdpSyslog()` extension method, if the `format` parameter was set to `SyslogFormat.RFC5424`, it would cause an `ArgumentNullException` later on when trying to send an event. The `messageIdPropertyName` optional parameter was defaulted to `null` in that case and would cause the exception when it was used to look up the property key in the `Dictionary<>`.

We now default the `messageIdPropertyName` parameter to "SourceContext" in all places necessary.

Refactored the `UdpSyslogReceiver` class to model it after the `TcpSyslogReceiver` class such that is will itself obtain a random port to listen on, instead of creating a separate `Socket` just to get a port. As well as support listening on both IPv4 and IPv6 via `DualMode`.

Also addressed Issue IonxSolutions#20 where some Unit Tests had timeout values of 4,000 and 6,000 seconds. While they never had to actually wait that long, the code was misleading. Changed to use a computed value based upon the sending time of the `PeriodicBatchingSinkOptions`.
Kevin-Andrew added a commit that referenced this issue Mar 24, 2021
See Issue #25 for more details. When using the `UdpSyslog()` extension method, if the `format` parameter was set to `SyslogFormat.RFC5424`, it would cause an `ArgumentNullException` later on when trying to send an event. The `messageIdPropertyName` optional parameter was defaulted to `null` in that case and would cause the exception when it was used to look up the property key in the `Dictionary<>`.

We now default the `messageIdPropertyName` parameter to "SourceContext" in all places necessary.

Refactored the `UdpSyslogReceiver` class to model it after the `TcpSyslogReceiver` class such that is will itself obtain a random port to listen on, instead of creating a separate `Socket` just to get a port. As well as support listening on both IPv4 and IPv6 via `DualMode`.

Also addressed Issue #20 where some Unit Tests had timeout values of 4,000 and 6,000 seconds. While they never had to actually wait that long, the code was misleading. Changed to use a computed value based upon the sending time of the `PeriodicBatchingSinkOptions`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant