This control is used to display log messages generated from an application in real time. The Control uses it’s own LogListener, which is derived from Catel.Logging.LogListenerBase.

Inherits from Catel.Windows.Controls.UserControl.

A RichTextBox is used to display the log messages.

LogViewer 03



Property nameDescription
IgnoreCatelLoggingGets or sets whether catel logging is turned on. Disabling catel logging improve performance.
LogFilterGets or sets search term for filtering log records.
LogListenerTypeGets or sets log listener type.
ShowDebugGets or sets whether debug log records are visible.
ShowInfoGets or sets whether info log records are visible.
ShowWarningGets or sets whether warning log records are visible.
ShowErrorGets or sets whether error log records are visible.
SupportCommandManagerGets or sets whether control supports command manager. This is required to support application-wide commands on the log viewer control, somehow the RichTextBox does not fire KeyDown events for combinations of keys (CTRL + [Key]).
TypeFilterGets or sets typename for filtering long records.


Property nameDescription
EnableIconsGets or sets whether the icon associated with each log record is visible. The icon will change depending on the log level.
EnableTimestampGets or sets whether timestamp for each log record is visible.
EnableTextColoringGets or sets whether colors for each log record depending on its log level is visible.
EnableThreadIdGets or sets whether thread id for each log record is visible.


Event nameDescription
LogEntryDoubleClickOccurs when user double click on a log record.


Method nameDescription
ClearClear all log entries.
CopyToClipboardCopy log entries to clipboard.

How to use

<orc:LogViewer LogEntryDoubleClick="LogViewerControlOnLogRecordDoubleClick
               LogFilter="{Binding Text, ElementName=FilterTextBox}"
               ShowDebug="{Binding IsChecked, ElementName=ShowDebugToggleButton}"
               ShowInfo="{Binding IsChecked, ElementName=ShowInfoToggleButton}"
               ShowWarning="{Binding IsChecked, ElementName=ShowWarningToggleButton}"
               ShowError="{Binding IsChecked, ElementName=ShowErrorToggleButton}"
               EnableTimestamp="{Binding IsChecked, ElementName=EnableTimestampCheckBox}"


We would like to thank the following contributors:

Want to contribute to the documentation? We have a guide for that!


Have a question about Catel or WildGums controls? Use StackOverflow with the Catel tag!