Refactor docs: topic folders, TOON, XCUT, protocol sync - Migrated all topic documentation into dedicated folders with canonical `README.md`, `ISSUES.md`, and `TODO.md` per topic (e.g., `LOGGING/`, `SIGNALR/`, `BINARY/`, `TOON/`). - Added comprehensive TOON serializer documentation: design, format, options, attributes, inference, issues, and TODOs. - Introduced `XCUT` folder for cross-cutting issues and TODOs, with canonical entries and topic cross-references. - Updated all references and navigation to use new folder-based doc paths; fixed links and clarified doc structure. - Enhanced AI agent protocol: enforce session skill preloading, `[LOADED_DOCS: ...]` short-name prefix, and mandatory `docs-check` skill for doc/code sync. - Updated `.csproj` to include all `README.md` files for IDE visibility. - Improved and clarified SignalR, grid, and project-level documentation. - Minor code/test tweaks and doc content corrections for consistency. |
||
|---|---|---|
| .. | ||
| AcBrowserConsoleLogWriter.cs | ||
| AcHttpClientLogItemWriter.cs | ||
| AcSignaRClientLogItemWriter.cs | ||
| README.md | ||
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 seeAyCode.Core/Loggers/README.md.
Key Files
AcHttpClientLogItemWriter.cs— Abstract structured writer extendingAcLogItemWriterBase<TLogItem>. Sends log items viaHttpClient.PostAsJsonAsync()(fire-and-forget). Manages its ownHttpClient+HttpClientHandler. HTTP/2 default.AcBrowserConsoleLogWriter.cs— Blazor browser console writer extendingAcTextLogWriterBase(text branch). UsesIJSRuntime.InvokeVoidAsync()to callconsole.info/console.warn/console.errorbased onLogLevel.AcSignaRClientLogItemWriter.cs— SignalR log transport writer extendingAcLogItemWriterBase<AcLogItemClient>. Sends structured log items toAcLoggerSignalRHubviaHubConnection.SendAsync("AddLogItem", logItem). Manages connection lifecycle (StartConnection/StopConnection). ConvertsTimeStampUtcto UTC before sending (SignalR doesn't transmitDateTime.Kind).