Skip to content

Allow configuration of LoggingHandler in autoinstrumentation #4034

@lzchen

Description

@lzchen

Is your feature request related to a problem?

Currently in autoinstrumentation, the default LoggingHandler configuration is defaulted to NOTSET, which effectively does not filter messages based on level.

For format configuration, this pr enables the LoggingHandler to respect configured formats for the logging handler.

With MANUAL instrumentation, users can configure logging like below:

logging.config.dictConfig({
    "version": 1,
    "formatters": {
        "simple": {"format": "%(name)s [%(module)s.%(lineno)s]: %(message)s"}
    },
    "handlers": {
        "console": {
            "level": "INFO",
            "formatter": "simple",
            "class": "opentelemetry.sdk._logs.LoggingHandler",
            "logger_provider": logger_provider,
        }
    },
    "loggers": {
        "__main__": {"handlers": ["console"], "level": "INFO"},
    }
})

however with autoinstrumentation sometimes this is not possible.

Describe the solution you'd like

We should have a way to configure logging level and format using autoinstrumentation (most likely with env vars), similarly to how opentelemetry-instrumetation-logging does.

Describe alternatives you've considered

No response

Additional Context

No response

Would you like to implement a fix?

None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    To do

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions