Dvir Reingewirtz
09/16/2025, 10:59 AM10:59:58.007 | INFO | prefect.flow_runs.worker - Completed submission of flow run
why is the log on wrong level (error instead of info)Marvin
09/16/2025, 11:00 AMMarvin
09/16/2025, 11:07 AMPREFECT_LOGGING_SETTINGS_PATH
.
- Example (YAML dictConfig) to send all console logs to stdout:
version: 1
disable_existing_loggers: false
formatters:
console:
(): prefect.logging.formatters.PrefectFormatter
handlers:
console_stdout:
class: prefect.logging.handlers.PrefectConsoleHandler
level: INFO
formatter: console
stream: <ext://sys.stdout>
loggers:
prefect:
level: INFO
handlers: [console_stdout]
propagate: false
root:
level: INFO
handlers: [console_stdout]
- Set this for your worker container/pod:
- PREFECT_LOGGING_SETTINGS_PATH=/path/to/logging.yaml
- Emit structured JSON logs to stdout (so your platform can parse levels from the payload)
version: 1
disable_existing_loggers: false
formatters:
json:
(): prefect.logging.formatters.JsonFormatter
fmt: default
handlers:
console_stdout_json:
class: prefect.logging.handlers.PrefectConsoleHandler
level: INFO
formatter: json
stream: <ext://sys.stdout>
loggers:
prefect:
level: INFO
handlers: [console_stdout_json]
propagate: false
root:
level: INFO
handlers: [console_stdout_json]
- Alternatively, change your log collector’s mapping so it does not automatically mark stderr as “error”.
Context/background:
- This behavior was discussed in Prefect as logs defaulting to stderr causing INFO logs to be tagged as ERROR by some collectors: prefecthq/prefect#9197.
If you can share where your worker is running (Kubernetes? Which cloud/log tool?), I can tailor a ready-to-use config for that environment.