init
This commit is contained in:
31
docs/ai/DataPRO/DbAPI/Logging.md
Normal file
31
docs/ai/DataPRO/DbAPI/Logging.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
source_files:
|
||||
- DataPRO/DbAPI/Logging/LogManager.cs
|
||||
generated_at: "2026-04-17T16:14:40.267853+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "60dc472c9df3ec54"
|
||||
---
|
||||
|
||||
# Logging
|
||||
|
||||
### Purpose
|
||||
This module provides centralized logging infrastructure for the DbAPI system. It wraps a `TextLogger` to write timestamped, categorized log messages to a file named "DB.log" with support for log rotation, filtering by severity level, and thread-safe initialization. The module exposes a delegate-based sink (`DBAPILogWriter`) that can be used by other components to write raw log messages.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`LogManager` (internal class)**
|
||||
- `static Sink DBAPILogWriter` - Public field assigned to the internal `LogMsg` method; allows external code to write raw strings to the log.
|
||||
- `enum LogEvents` - Public enum defining log event categories: `Message`, `Connections`, `Login`, `Information`, `DataRecorders`, `Graphs`, `CalculatedChannels`, `Sensors`, `TestSetups`, `RegionsOfInterest`, `Tags`.
|
||||
- `static void Initialize(int logSize, string path, int minLog)` - Initializes the logger with the specified file size limit, directory path, and minimum log level filter. Creates "DB.log" in the given path. Thread-safe; subsequent calls are no-ops if already initialized.
|
||||
- `static void Log(TraceEventType eventType, LogEvents logEvent, string msg)` - Logs a message with the specified event type and category. Respects the `_MinLog` filter; messages whose event type is not in the filter are silently dropped.
|
||||
- `static void OnWriteException(Exception ex)` - Callback for handling write exceptions; writes the exception message to `Console.Error`.
|
||||
|
||||
### Invariants
|
||||
- `_LogWriter` is singleton-initialized; once set, `Initialize` returns immediately without reinitializing.
|
||||
- Initialization is guarded by `lock(MyLock)` for thread safety.
|
||||
- `_MinLog` defaults to `(TraceEventType.Error | TraceEventType.Warning)` if `Initialize` is not called or if `minLog` is not applied.
|
||||
- Log filtering uses bitwise AND: a message is logged only if `(_MinLog & (int)eventType) == (int)eventType`.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Utilities.Logging` (pro
|
||||
Reference in New Issue
Block a user