Skip to main content

Logging

Application logging setup (app.log).

Constructor

Signature

def Logging(
app: Any
)

Parameters

NameTypeDescription
appAnyThe application instance containing configuration settings for logging.

Signature

def Logging(
app: [Celery](../base/celery.md?sid=celery_app_base_celery)
)

Parameters

NameTypeDescription
app[Celery](../base/celery.md?sid=celery_app_base_celery)The Celery application instance providing configuration for log formats and color settings

Methods


setup()

@classmethod
def setup(
loglevel: str|int = None,
logfile: str|file = None,
redirect_stdouts: bool = False,
redirect_level: str = 'WARNING',
colorize: bool = None,
hostname: str = None
) - > list

Configures the global logging subsystem, handles stdout redirection, and updates environment variables for child processes.

Parameters

NameTypeDescription
loglevel`strint` = None
logfile`strfile` = None
redirect_stdoutsbool = FalseWhether to capture and redirect standard output and error to the logger
redirect_levelstr = 'WARNING'The log level used for messages captured from redirected standard streams
colorizebool = NoneExplicit override to enable or disable ANSI color codes in logs
hostnamestr = NoneThe worker hostname used to format the log file name

Returns

TypeDescription
listA list of signal receivers that handled the logging setup, or None if already configured

redirect_stdouts()

@classmethod
def redirect_stdouts(
loglevel: str|int = None,
name: string = 'celery.redirected'
)

Redirects standard output streams to a specific logger and updates environment flags.

Parameters

NameTypeDescription
loglevel`strint` = None
namestring = 'celery.redirected'The name of the logger that will receive the redirected stream data

setup_logging_subsystem()

@classmethod
def setup_logging_subsystem(
loglevel: str|int = None,
logfile: str|file = None,
format: str = None,
colorize: bool = None,
hostname: str = None
) - > list

Performs the low-level configuration of root, multiprocessing, and task loggers while triggering setup signals.

Parameters

NameTypeDescription
loglevel`strint` = None
logfile`strfile` = None
formatstr = NoneThe log message format string
colorizebool = NoneWhether to use colors in the output
hostnamestr = NoneThe hostname used for log file name expansion

Returns

TypeDescription
listThe list of signal receivers that responded to the setup_logging signal

setup_task_loggers()

@classmethod
def setup_task_loggers(
loglevel: str|int = None,
logfile: str|file = None,
format: str = None,
colorize: bool = None,
propagate: bool = False
) - > logging.Logger

Setup the task logger. If logfile is not specified, then sys.stderr is used. Will return the base task logger object.

Parameters

NameTypeDescription
loglevel`strint` = None
logfile`strfile` = None
formatstr = NoneThe format string for task log messages
colorizebool = NoneWhether to enable color in task logs
propagatebool = FalseWhether task logs should propagate to the root logger

Returns

TypeDescription
logging.LoggerThe configured logger instance for celery tasks

redirect_stdouts_to_logger()

@classmethod
def redirect_stdouts_to_logger(
logger: logging.Logger,
loglevel: int|str = None,
stdout: bool = True,
stderr: bool = True
) - > [LoggingProxy](../../utils/log/loggingproxy.md?sid=celery_utils_log_loggingproxy)

Redirect :class:sys.stdout and :class:sys.stderr to logger.

Parameters

NameTypeDescription
loggerlogging.LoggerLogger instance to redirect to.
loglevel`intstr` = None
stdoutbool = TrueWhether to redirect sys.stdout
stderrbool = TrueWhether to redirect sys.stderr

Returns

TypeDescription
[LoggingProxy](../../utils/log/loggingproxy.md?sid=celery_utils_log_loggingproxy)The proxy object that replaced the standard streams

supports_color()

@classmethod
def supports_color(
colorize: bool = None,
logfile: str|file = None
) - > bool

Determines if the current environment and configuration support ANSI color output.

Parameters

NameTypeDescription
colorizebool = NoneThe requested color setting
logfile`strfile` = None

Returns

TypeDescription
boolTrue if colors are supported and enabled, False otherwise

colored()

@classmethod
def colored(
logfile: str|file = None,
enabled: bool = None
) - > [colored](../../utils/term/colored.md?sid=celery_utils_term_colored)

Returns a colorizer object based on whether color support is enabled for the given logfile.

Parameters

NameTypeDescription
logfile`strfile` = None
enabledbool = NoneExplicit override for color enablement

Returns

TypeDescription
[colored](../../utils/term/colored.md?sid=celery_utils_term_colored)An object used to wrap strings in ANSI color codes

setup_handlers()

@classmethod
def setup_handlers(
logger: logging.Logger,
logfile: str|file,
format: str,
colorize: bool,
formatter: logging.Formatter = ColorFormatter
) - > logging.Logger

Attaches a configured log handler to the provided logger if it does not already have one.

Parameters

NameTypeDescription
loggerlogging.LoggerThe logger to which the handler will be added
logfile`strfile`
formatstrThe format string for the handler's formatter
colorizeboolWhether the formatter should use color
formatterlogging.Formatter = ColorFormatterThe formatter class to instantiate for the handler

Returns

TypeDescription
logging.LoggerThe logger instance with the new handler attached

get_default_logger()

@classmethod
def get_default_logger(
name: str = 'celery'
) - > logging.Logger

Fetches a logger instance by name, defaulting to the 'celery' namespace.

Parameters

NameTypeDescription
namestr = 'celery'The name of the logger to retrieve

Returns

TypeDescription
logging.LoggerThe requested logger instance

already_setup()

@classmethod
def already_setup() - > bool

Returns whether the logging subsystem has already been initialized in the current process.

Returns

TypeDescription
boolThe current setup status flag