Tags: cwt/aiosyslogd
Tags
v1.5.0: Pluggable activity reporting engine, CLI, and Web UI - Register new console script `aiosyslogd-activity` pointing to the CLI. - Implement the `aiosyslogd.activity` module to execute async, chunked SQLite queries with FTS5 and bucket active minutes by user, category, and app. - Define a pluggable `BaseActivityParser` architecture and implement `FortiOSParser` to extract app, user, and appcat attributes via regex. - Implement a terminal-optimized CLI (`aiosyslogd-activity`) featuring terminal-width detection and responsive single or dual-column table views. - Add `/activity` and `/api/activity` endpoints to the Quart web server along with corresponding template integration. - Add comprehensive unit tests covering the new activity engine, parsers, and CLI, and update existing test fixtures to reset config caching.
v1.3.2: Separate debug settings per component - Removed forced debug override from server.py; each driver now reads its own debug setting from config instead of inheriting [server].debug. - Added debug setting to [database.sqlite] and [database.meilisearch] sections for independent per-component debug control. - Moved sql_dump from [database] to [database.sqlite] (SQLite-specific). - Updated README.md to reflect separate debug settings: - [server].debug: syslog parsing errors only - [database.sqlite].debug: SQLite operations - [database.meilisearch].debug: Meilisearch operations - Updated default config (config.py, default-aiosyslogd.toml) and aiosyslogd.toml to match new structure. - Updated SQL_DUMP lookup to read from [database.sqlite] section for TRACE log level determination. This allows fine-grained debugging: enable database operation logs without verbose syslog parsing output, and vice versa.
v1.3.1: Fix database retention cleanup bug - Fixed incorrect deletion of middle database files during cleanup - Simplified retention logic: keeps N months total (was: current + N older) - Moved retention_months to [database.sqlite] config section - Updated README and default config accordingly
v1.1.1: Fix event loop info retrieval in server and web modules - Replace deprecated asyncio.get_event_loop() calls with safer asyncio.get_running_loop() where appropriate - Add a helper function in server.py that gracefully handles cases where no event loop is running yet - Update logging to show the correct event loop module being used
PreviousNext