AyCode.Core/AyCode.Services/Loggers/README.md

1.1 KiB

Loggers

Remote log writers for sending log items over HTTP, SignalR, or to the browser console. All three implement IAcLogWriterClientBase.

For full logging architecture see docs/LOGGING.md. For core logger and writer abstractions see AyCode.Core/Loggers/README.md.

Key Files

  • AcHttpClientLogItemWriter.cs — Abstract structured writer extending AcLogItemWriterBase<TLogItem>. Sends log items via HttpClient.PostAsJsonAsync() (fire-and-forget). Manages its own HttpClient + HttpClientHandler. HTTP/2 default.
  • AcBrowserConsoleLogWriter.cs — Blazor browser console writer extending AcTextLogWriterBase (text branch). Uses IJSRuntime.InvokeVoidAsync() to call console.info / console.warn / console.error based on LogLevel.
  • AcSignaRClientLogItemWriter.cs — SignalR log transport writer extending AcLogItemWriterBase<AcLogItemClient>. Sends structured log items to AcLoggerSignalRHub via HubConnection.SendAsync("AddLogItem", logItem). Manages connection lifecycle (StartConnection/StopConnection). Converts TimeStampUtc to UTC before sending (SignalR doesn't transmit DateTime.Kind).