PSU Logging Target using TCP or UDP

Product: PowerShell Universal
Version: 4.0.9

Anybody get TCP logging to syslog working in 4.0.9?

File and database logs work. Also get an error with the configuration.

Invalid configuration: logging.ps1
Uri should be in the format tcp://server:port

New-PSULoggingTarget -Type "TCP" -Properties @{
    hostName = 'syslog'
    port     = '514'
} -Feature "Automation" -Resource "syslogtest"
New-PSULoggingTarget -Type "File" -Level "Debug" -Properties @{
    path = 'c:\logs\psu\syslogtest'
} -Feature "Automation" -Resource "syslogtest" 
Write-PSULog -Feature Automation -Message "msg=Write-PSULog syslog test, key1=value1, key2=value2" -Level Information -Resource "syslogtest"

System Log

2023-08-07 14:14:53.020 -04:00 [ERR] Failed to read configuration file. logging.ps1
System.ArgumentNullException: Uri should be in the format tcp://server:port
 ---> System.UriFormatException: Invalid URI: The format of the URI could not be determined.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
   at System.Uri..ctor(String uriString)
   at Serilog.Sinks.Network.NetworkLoggerConfigurationExtensions.BuildUri(String s)
   --- End of inner exception stack trace ---
   at Serilog.Sinks.Network.NetworkLoggerConfigurationExtensions.BuildUri(String s)
   at Serilog.Sinks.Network.NetworkLoggerConfigurationExtensions.TCPSink(LoggerSinkConfiguration loggerConfiguration, String uri, ITextFormatter textFormatter, LogEventLevel restrictedToMinimumLevel)
   at Serilog.Sinks.Network.NetworkLoggerConfigurationExtensions.TCPSink(LoggerSinkConfiguration loggerConfiguration, String host, Int32 port, ITextFormatter textFormatter, LogEventLevel restrictedToMinimumLevel)
   at UniversalAutomation.Services.LoggingTargetsConfigurationScript.<>c__DisplayClass8_1.<OnReadAfterAllAsync>b__3(LoggerConfiguration lc) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Services\Configuration\LoggingTargets.cs:line 76
   at Serilog.Configuration.LoggerSinkConfiguration.Logger(Action`1 configureLogger, LogEventLevel restrictedToMinimumLevel, LoggingLevelSwitch levelSwitch)
   at UniversalAutomation.Services.LoggingTargetsConfigurationScript.OnReadAfterAllAsync(Boolean initialSync) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Services\Configuration\LoggingTargets.cs:line 76
   at UniversalAutomation.Services.ConfigurationScript`1.ReadAsync(String rootPath, Boolean initialSync) in C:\actions-runner\_work\universal\universal\src\PowerShellUniversal\ConfigurationScript.cs:line 309

This looks like a bug. I opened and issue here: TCP\UDP Logging Target Error · Issue #2600 · ironmansoftware/issues · GitHub

UDP works now.

New-PSULoggingTarget -Type "UDP" -Level "Debug" -Properties @{
    hostName = 'syslog'
    port     = '514'
} -Resource "Audit"

TCP version still throws an error.

2023-08-16 19:47:55.139 -04:00 [ERR] Failed to read configuration file. logging.ps1
System.ArgumentNullException: Value cannot be null. (Parameter 's')
   at System.Int32.Parse(String s)
   at UniversalAutomation.Services.LoggingTargetsConfigurationScript.<>c__DisplayClass8_1.<OnReadAfterAllAsync>b__3(LoggerConfiguration lc) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Services\Configuration\LoggingTargets.cs:line 76
   at Serilog.Configuration.LoggerSinkConfiguration.Logger(Action`1 configureLogger, LogEventLevel restrictedToMinimumLevel, LoggingLevelSwitch levelSwitch)
   at UniversalAutomation.Services.LoggingTargetsConfigurationScript.OnReadAfterAllAsync(Boolean initialSync) in C:\actions-runner\_work\universal\universal\src\Universal.Server\Services\Configuration\LoggingTargets.cs:line 76
   at UniversalAutomation.Services.ConfigurationScript`1.ReadAsync(String rootPath, Boolean initialSync) in C:\actions-runner\_work\universal\universal\src\PowerShellUniversal\ConfigurationScript.cs:line 309