api: enabled: true address: 0.0.0.0:7135 sources: docker_host: type: docker_logs exclude_containers: - insforge-vector include_containers: - insforge - insforge-deno - insforge-postgrest - insforge-postgres transforms: project_logs: type: remap inputs: - docker_host source: |- .project = "default" .event_message = del(.message) # Remove leading slash from container name if present container = to_string!(del(.container_name)) if starts_with(container, "/") { .appname = slice!(container, 1) } else { .appname = container } del(.container_created_at) del(.container_id) del(.source_type) del(.stream) del(.label) del(.image) del(.host) del(.stream) router: type: route inputs: - project_logs route: insforge: '.appname == "insforge"' deno: '.appname == "insforge-deno"' rest: '.appname == "insforge-postgrest"' db: '.appname == "insforge-postgres"' realtime: '.appname == "insforge-realtime"' # PostgREST logs with proper parsing rest_logs: type: remap inputs: - router.rest source: |- # .metadata.host = .project # Parse PostgREST log format: DD/Mon/YYYY:HH:MM:SS +ZZZZ: message parsed, err = parse_regex(.event_message, r'^(?P