Contrib. Targets. WebSocketServer
NLog.Contrib.Targets.WebSocketServer is a NLog target that instead of writing on a file, or showing the log on the console, broadcast the log entries to the connected websocket connections.
- Fully integrated with NLog: it does not require changes in your application code beyond the configuration.
- Self-hosted: it does not need IIS or any hosting framework, WebSocketListener is socket based.
- Mono compatible: Both NLog and WebSocketListener are compatible with Mono.
- Subscribe to Regular Expressions: Is it possible to send a message throug the WebSocket connection to indicate the expression to which you want to subscribe. Only log entries matching that regex will be sent.
- Scalable: NLog and WebSocketListener components are decoupled by a producer-consumer pattern, so NLog will append the log entries to WebSocketServerTarget in O(1) time always, and another thread/threads are responsible of distributing that log entry to the clients. Still, if the component has a big number of connected clients, it may interfere with your application performance. See the MaxConnectedClients configuration setting.
Install-Package NLog.Contrib.Targets.WebSocketServer -Version 1.0.0
dotnet add package NLog.Contrib.Targets.WebSocketServer --version 1.0.0
<PackageReference Include="NLog.Contrib.Targets.WebSocketServer" Version="1.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add NLog.Contrib.Targets.WebSocketServer --version 1.0.0
This package is not used by any popular GitHub repositories.