This merge request introduces the ability to add "UDP Data Sources" to tailviewer. The data source listens for incoming UDP datagrams on a particular endpoint and then interprets the payload of each datagram as a plain text log entry.
This new data source is implemented as a new plugin (which is shipped with the main tailviewer installer just like the serilog plugin) in order to not overload the main tailviewer source code. A new plugin interface for custom data sources was introduced which allows future plugins to implement all kinds of data sources (for example a data source to display the windows event log comes to mind, but its implementation is outside of the scope of this MR). The UI was then extended to allow the user to add a new custom data source, choosing from one of the available custom data sources. After its creation, a custom data source isn't that much different from the existing data source: It's a singular data source and may be grouped with other data sources, filtered, etc... just like any other.
Details
Additions to tailviewer's plugins:
[x] Introduced new plugin interface to add new custom data sources to tailviewer via plugins
Additions to tailviewer:
[x] Add new data source type 'CustomDataSource'
[ ] Write tests for class CustomDataSource
[ ] Write tests for class CustomDataSourceId
[ ] Write Clone/Store/Restore tests for additions in (Settings) DataSource
[ ] Introduce ViewModel for new 'CustomDataSource'
[ ] Introduce DataTemplate for new 'CustomDataSource'
UDP Data Source Plugin:
[x] Add new plugin interface to allow displaying UDP datagrams
[x] Add new plugin to installer
[ ] Implement new plugin interface to allow displaying UDP datagrams
[ ] Write tests for class UdpCustomDataSourceConfiguration
Fixes #259
Abstract
This merge request introduces the ability to add "UDP Data Sources" to tailviewer. The data source listens for incoming UDP datagrams on a particular endpoint and then interprets the payload of each datagram as a plain text log entry.
This new data source is implemented as a new plugin (which is shipped with the main tailviewer installer just like the serilog plugin) in order to not overload the main tailviewer source code. A new plugin interface for custom data sources was introduced which allows future plugins to implement all kinds of data sources (for example a data source to display the windows event log comes to mind, but its implementation is outside of the scope of this MR). The UI was then extended to allow the user to add a new custom data source, choosing from one of the available custom data sources. After its creation, a custom data source isn't that much different from the existing data source: It's a singular data source and may be grouped with other data sources, filtered, etc... just like any other.
Details
Additions to tailviewer's plugins:
Additions to tailviewer:
UDP Data Source Plugin: