Skip to content

Diagnostics Types ​

Namespace: RoyalApps.Community.FreeRdp.WinForms

Introduced in 2.2.4 without changing existing public signatures.

This page explains the diagnostics contract. Member-level documentation is generated for FreeRdpDiagnosticsOptions, FreeRdpDiagnosticEventArgs, and FreeRdpControl.

FreeRdpDiagnosticsOptions ​

csharp
public sealed class FreeRdpDiagnosticsOptions
{
    public string LogLevel { get; set; } = "DEBUG";
}

Supported levels are TRACE, DEBUG, INFO, WARN, and ERROR, case-insensitively. Unknown values normalize to DEBUG.

Assign FreeRdpControl.DiagnosticsOptionsProvider to return a fresh options snapshot for the next native launch. Return null for no wrapper-managed capture on that launch.

There is no package-level log-file setting or global enable switch. The host owns these policies.

FreeRdpDiagnosticEventArgs ​

PropertyTypeMeaning
LaunchIdGuidUnique native-process launch identifier.
ProcessIdintNative child PID.
Sourcestringstdout, stderr, or lifecycle.
MessagestringRaw text; may contain sensitive data.

Properties are init-only. There is no timestamp, parsed severity, or host connection ID in this event. Add those in your logging coordinator. Do not assume stderr always means an error; native text can include its own severity.

Lifecycle text currently includes executable/version metadata and process exit codes. Treat that text as human-readable diagnostics, not a stable machine-readable protocol.

Output is drained concurrently, with individual lines bounded to 65,536 characters. Oversized messages are omitted; final unterminated lines are delivered when a stream ends. Cleanup waits for readers asynchronously with a bounded timeout, so abrupt termination cannot guarantee a complete trace.

See Diagnostics for integration, threading, and security requirements.

Diagnostics source.

MIT Licensed