twenty/.github
Charles Bochet 36fbfca069
Add application-logs module with driver pattern for logic function log persistence (#19486)
## Summary

- Introduces a new `application-logs` core module with a driver pattern
(disabled/console/clickhouse) to capture and persist logic function
execution logs
- Adds a ClickHouse `applicationLog` table with per-line log storage,
30-day TTL, and `ORDER BY (workspaceId, timestamp, applicationId,
logicFunctionId)`
- Surfaces application logs in the existing frontend audit logs table as
a new "Application Logs" source with dedicated columns (Function,
Timestamp, Level, Message, Execution ID)

## Details

**Write path**: `LogicFunctionExecutorService.handleExecutionResult()`
parses the multi-line log string from driver output into individual `{
timestamp, level, message }` entries, generates an execution UUID, and
passes them to `ApplicationLogsService.writeLogs()` which delegates to
the configured driver.

**Driver pattern**: Follows the exception-handler module style (Symbol
injection token + `forRootAsync` dynamic module). Three drivers:
- `DISABLED` (default) — no-op, prevents information leaking
- `CONSOLE` — structured stdout logging with level-based `console.*`
calls
- `CLICKHOUSE` — inserts rows into the `applicationLog` ClickHouse table

**Read path**: Extends the existing event-logs module by adding
`APPLICATION_LOG` to the `EventLogTable` enum, table name mapping, and
normalization logic.

**Config**: New `APPLICATION_LOG_DRIVER_TYPE` environment variable
(default: `DISABLED`).
2026-04-09 14:35:24 +00:00
..
actions chore: centralize deploy/install CD actions in twentyhq/twenty (#19454) 2026-04-08 15:25:51 +02:00
ISSUE_TEMPLATE Prepare field option dropdown for RecordField usage (#13935) 2025-08-18 10:34:12 +02:00
vale-styles Fix Vale CI and change vision (#4724) 2024-04-01 11:39:04 +02:00
workflows Add application-logs module with driver pattern for logic function log persistence (#19486) 2026-04-09 14:35:24 +00:00
CLA.md Remove CLA Assistant (#2479) 2023-11-13 16:09:59 +01:00
CODE_OF_CONDUCT.md add contibuting_example.md (#6998) 2024-09-12 12:31:34 +02:00
CONTRIBUTING.md Fix markdown link formatting in CONTRIBUTING.md (#16176) 2025-11-28 13:53:45 +01:00
crowdin-app.yml fix: add base_path to Crowdin configs for correct path resolution (#17196) 2026-01-16 16:54:40 +01:00
crowdin-docs.yml fix: add base_path to Crowdin configs for correct path resolution (#17196) 2026-01-16 16:54:40 +01:00
dependabot.yml Exclude community apps from Dependabot scanning (#17345) 2026-01-22 14:47:21 +01:00
release-drafter.yml feat(ci): add release drafter (#4970) 2024-04-15 20:09:06 +02:00
SECURITY.md changes as per vale warnings (#2353) 2023-11-07 11:39:29 +01:00
vale.ini chore: cleanup repository root structure (#17147) 2026-01-14 12:56:30 +00:00
verdaccio-config.yaml Refactor twenty client sdk provisioning for logic function and front-component (#18544) 2026-03-24 18:10:25 +00:00