OPC UA SDK logging is discarded (no-op telemetry): server-side identity/certificate rejections leave no log line #874
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by the #800 partial Windows validation on windev: the server rejected API-key logins with
BadIdentityTokenInvalid(see the clock-skew issue) and logged nothing. The OPC UA application host gives the SDK a no-op telemetry logger (DefaultTelemetry.Create(_ => { })inOpcUaApplicationHost.cs), so SDK-side rejections are invisible: identity-token decryption failures, certificate validation failures and secure-channel faults.Fix: route SDK telemetry into the host's Serilog
ILoggerFactoryat Warning and above, with a category such asOpc.Ua. Without that, an operator cannot diagnose these refusals from the server side.Fixed, pushed to master in
43f8b8e8(2e948d31). The hosted service now creates oneServerSdkTelemetrycontext from itsILoggerFactory, shared byOtOpcUaSdkServerand theApplicationInstanceand released on dispose. It forwards Warning and above under the SDK's own categories, rate-limited to 20 per minute per category, so a client retrying in a loop cannot flood the log. Test:Sdk2TrustedChannelTests.An_sdk_side_refusal_reaches_the_server_log(an untrusted client's rejection reaches the captured log). The full local suite is green.