DagsterDocs

Loggers

Built-in loggers

Logging from a solid

Defining custom loggers

@dagster.logger(config_schema=None, description=None)[source]

Define a logger.

The decorated function should accept an InitLoggerContext and return an instance of logging.Logger. This function will become the logger_fn of an underlying LoggerDefinition.

Parameters
  • config_schema (Optional[ConfigSchema]) – The schema for the config. Configuration data available in init_context.logger_config.

  • description (Optional[str]) – A human-readable description of the logger.

class dagster.LoggerDefinition(logger_fn, config_schema=None, description=None)[source]

Core class for defining loggers.

Loggers are pipeline-scoped logging handlers, which will be automatically invoked whenever solids in a pipeline log messages.

Parameters
  • logger_fn (Callable[[InitLoggerContext], logging.Logger]) – User-provided function to instantiate the logger. This logger will be automatically invoked whenever the methods on context.log are called from within solid compute logic.

  • config_schema (Optional[ConfigSchema]) – The schema for the config. Configuration data available in init_context.logger_config.

  • description (Optional[str]) – A human-readable description of this logger.

configured(config_or_config_fn, config_schema=None, description=None)

Wraps this object in an object of the same type that provides configuration to the inner object.

Parameters
  • config_or_config_fn (Union[Any, Callable[[Any], Any]]) – Either (1) Run configuration that fully satisfies this object’s config schema or (2) A function that accepts run configuration and returns run configuration that fully satisfies this object’s config schema. In the latter case, config_schema must be specified. When passing a function, it’s easiest to use configured().

  • config_schema (ConfigSchema) – If config_or_config_fn is a function, the config schema that its input must satisfy.

  • description (Optional[str]) – Description of the new definition. If not specified, inherits the description of the definition being configured.

Returns (ConfigurableDefinition): A configured version of this object.

class dagster.InitLoggerContext(logger_config, logger_def, pipeline_def=None, run_id=None)[source]

Logger-specific initialization context.

An instance of this class is made available as the first argument to the logger_fn decorated by @logger or set on a LoggerDefinition.

Users should not instantiate this class.

logger_config

The configuration data provided by the environment config. The schema for this data is defined by config_schema on the LoggerDefinition

Type

Any

pipeline_def

The pipeline definition currently being executed.

Type

Optional[PipelineDefinition]

logger_def

The logger definition for the logger being constructed.

Type

LoggerDefinition

run_id

The ID for this run of the pipeline.

Type

str

Monitoring stdout and stderr