AyCode.Core/AyCode.Services/Loggers
Loretta b210517826 Refactor logger config, improve SignalR log writer errors
- Make AcLoggerOptions.AppType nullable; resolve AppType via config or DI default parameter
- Update AddAcLoggerFactory to accept host default AppType
- Enhance AcSignaRClientLogItemWriter: robust error handling, dropped log tracking, single error reporting per failure state
- Update logger README for new AppType precedence
- Document AcSignalRDataSource threading/event model in ISSUES
- Add diagnostic commands to settings.local.json
2026-07-12 14:31:35 +02:00
..
AcBrowserConsoleLogWriter.cs AcSignalRClient; AcBrowserLogWriter... 2025-09-01 16:19:01 +02:00
AcHttpClientLogItemWriter.cs fixes 2024-05-18 13:18:28 +02:00
AcSignaRClientLogItemWriter.cs Refactor logger config, improve SignalR log writer errors 2026-07-12 14:31:35 +02:00
README.md [LOADED_DOCS: 4 files, no new loads] 2026-04-24 21:54:04 +02:00

README.md

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/README.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).