Nelson Griffiths
10/22/2024, 4:58 PMNate
10/22/2024, 5:05 PMNate
10/22/2024, 5:06 PMNelson Griffiths
10/22/2024, 5:13 PMlogfire
to the extra loggers but that didn't work.Nate
10/22/2024, 6:54 PMlogging.yaml
file and then setting that with PREFECT_LOGGING_CONFIG_PATH
for example
import logfire
from prefect import flow
from prefect.logging import get_run_logger
# Initialize Logfire first
logfire.configure()
@flow
def log_flow():
logger = get_run_logger()
logger.error("Damnit, Marvin!")
if __name__ == "__main__":
log_flow()
» PREFECT_LOGGING_CONFIG_PATH=logging.yaml python main.py
Logfire project URL: <https://logfire.pydantic.dev/zzstoatzz/marvin>
13:52:17.188 | INFO | prefect.engine - Created flow run 'cheerful-doberman' for flow 'log-flow'
18:52:17.414 Damnit, Marvin!
13:52:17.410 | ERROR | Flow run 'cheerful-doberman' - Damnit, Marvin!
18:52:17.593 Finished in state Completed()
13:52:17.591 | INFO | Flow run 'cheerful-doberman' - Finished in state Completed()
where I added the following
handlers:
...
# Add Logfire handler
logfire:
level: 0
class: logfire.LogfireLoggingHandler
formatter: standard
loggers:
prefect:
level: "${PREFECT_LOGGING_LEVEL}"
...
prefect.flow_runs:
level: NOTSET
handlers: [api, logfire] # Added logfire
prefect.task_runs:
level: NOTSET
handlers: [api, logfire] # Added logfire
Nate
10/22/2024, 7:21 PMconsole=False
to avoid dupe log records from logfire in your local console
logfire.configure(console=False)
Nelson Griffiths
10/22/2024, 7:45 PM