Net4x.RemoteLogger.Library
2.5.0.26287
dotnet add package Net4x.RemoteLogger.Library --version 2.5.0.26287
NuGet\Install-Package Net4x.RemoteLogger.Library -Version 2.5.0.26287
<PackageReference Include="Net4x.RemoteLogger.Library" Version="2.5.0.26287" />
<PackageVersion Include="Net4x.RemoteLogger.Library" Version="2.5.0.26287" />
<PackageReference Include="Net4x.RemoteLogger.Library" />
paket add Net4x.RemoteLogger.Library --version 2.5.0.26287
#r "nuget: Net4x.RemoteLogger.Library, 2.5.0.26287"
#:package Net4x.RemoteLogger.Library@2.5.0.26287
#addin nuget:?package=Net4x.RemoteLogger.Library&version=2.5.0.26287
#tool nuget:?package=Net4x.RemoteLogger.Library&version=2.5.0.26287
Net4x.RemoteLogger.Library
Remote logging for the Net4x logging stack (Net4x.CoreLibrary.Logging):
- Producer side:
RemoteAppenderis anIAppenderthat forwards everyLoggingEventto a consumer queue, so another process can stream it. - Client side:
RemoteAttacherconnects to a remote log stream over HTTP and replays the events into a localILogger.
Installation
dotnet add package Net4x.RemoteLogger.Library
Target frameworks: net45, net461, netstandard2.0.
Receiving a remote log stream
Set the server address as the BaseAddress setting, read through ArgumentGetter. It can come
from the app config, a JSON file or an environment variable:
<appSettings>
<add key="BaseAddress" value="https://logs.example.com/" />
</appSettings>
using CoreLibrary.Logging;
using RemoteLoggerLib.Logging.Utility;
var logger = LoggerFactory.Instance.GetLogger();
await RemoteAttacher.Instance.AttachToRemoteLoggerAsync(logger, "MyServiceLog");
// or synchronously:
RemoteAttacher.Instance.AttachToRemoteLogger(logger, "MyServiceLog");
The attacher sends GET {BaseAddress}api/PushStreamContent/RemoteLogger?Name={loggerId}. It
reads serialized LoggingEvents from the response and passes each one to
logger.LogAsync. It stops when the stream ends or when an event arrives with
SendDate == DateTime.MaxValue. The HTTP timeout is 10 minutes.
Publishing log events
using RemoteLoggerLib.Logging;
IConsumer consumer = /* your IConsumer implementation */;
var appender = new RemoteAppender(consumer, "RemoteAppender");
appender.Logged += (s, e) => { /* raised after each event is queued */ };
// Register the appender with your logger; each DoAppend call goes to consumer.ProducerConsumer.
When the appender is disposed, it also disposes the consumer. This package does not include an
IConsumer implementation or the HTTP endpoint that streams the queue. Provide those on the
server side.
Related packages
Net4x.RemoteLogger.Interfaces:IConsumerandConsumerArgsNet4x.Configuration.Library: supplies theBaseAddresssetting
Copyright (c) Piero Viano. All rights reserved. Authors: Piero Viano
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5
- Net4x.Configuration.Interfaces (>= 2.5.0.26287)
- Net4x.Configuration.Library (>= 2.5.0.26287)
- Net4x.CoreLibrary.Base (>= 2.5.0.26286)
- Net4x.CoreLibrary.Logging (>= 2.5.0.26286)
- Net4x.RemoteLogger.Interfaces (>= 2.5.0.26287)
-
.NETFramework 4.6.1
- Net4x.Configuration.Interfaces (>= 2.5.0.26287)
- Net4x.Configuration.Library (>= 2.5.0.26287)
- Net4x.CoreLibrary.Base (>= 2.5.0.26286)
- Net4x.CoreLibrary.Logging (>= 2.5.0.26286)
- Net4x.RemoteLogger.Interfaces (>= 2.5.0.26287)
-
.NETStandard 2.0
- Net4x.Configuration.Interfaces (>= 2.5.0.26287)
- Net4x.Configuration.Library (>= 2.5.0.26287)
- Net4x.CoreLibrary.Base (>= 2.5.0.26286)
- Net4x.CoreLibrary.Logging (>= 2.5.0.26286)
- Net4x.RemoteLogger.Interfaces (>= 2.5.0.26287)
- System.Net.Http (>= 4.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.5.0.26287 | 39 | 10/15/2026 |
| 2.5.0.26236 | 145 | 8/24/2026 |
| 2.5.0.5 | 144 | 7/17/2026 |
| 2.5.0.4 | 183 | 2/2/2026 |
| 2.5.0.3 | 183 | 1/23/2026 |
| 2.5.0.2 | 171 | 1/5/2026 |
| 2.5.0.1 | 163 | 12/30/2025 |
| 2.5.0 | 321 | 11/9/2025 |
| 1.6.0 | 348 | 4/4/2025 |
| 1.3.0 | 302 | 8/27/2023 |
| 1.3.0-at20230505032213 | 274 | 5/8/2023 |