Module jumpscale.core.logging

Expand source code
import sys


def export_module_as():

    from jumpscale.loader import j
    from .logging import MainLogger, RedisLogHandler, LogHandler

    logger = MainLogger()
    config = j.core.config.config.get_config().get("logging")

    if config:
        # remove the default stderr handler
        logger.remove_handler(0)
        if config["default"]["enabled"]:
            logger.add_handler(sys.stderr, level=config["default"]["level"])

        # configure redis handler if enabled
        if config["redis"]["enabled"] and j.core.db:
            redis_config = config["redis"]
            redis_handler = RedisLogHandler(
                max_size=redis_config["max_size"], dump=redis_config["dump"], dump_dir=redis_config["dump_dir"]
            )
            logger.add_custom_handler("redis", redis_handler, serialize=True, level=redis_config["level"])

        # configure filesystem handler if enabled
        if config["filesystem"]["enabled"]:
            fs_config = config["filesystem"]
            logger.add_handler(sink=fs_config["log_dir"], level=fs_config["level"], rotation=fs_config["rotation"])

    return logger

Sub-modules

jumpscale.core.logging.logging

Functions

def export_module_as()
Expand source code
def export_module_as():

    from jumpscale.loader import j
    from .logging import MainLogger, RedisLogHandler, LogHandler

    logger = MainLogger()
    config = j.core.config.config.get_config().get("logging")

    if config:
        # remove the default stderr handler
        logger.remove_handler(0)
        if config["default"]["enabled"]:
            logger.add_handler(sys.stderr, level=config["default"]["level"])

        # configure redis handler if enabled
        if config["redis"]["enabled"] and j.core.db:
            redis_config = config["redis"]
            redis_handler = RedisLogHandler(
                max_size=redis_config["max_size"], dump=redis_config["dump"], dump_dir=redis_config["dump_dir"]
            )
            logger.add_custom_handler("redis", redis_handler, serialize=True, level=redis_config["level"])

        # configure filesystem handler if enabled
        if config["filesystem"]["enabled"]:
            fs_config = config["filesystem"]
            logger.add_handler(sink=fs_config["log_dir"], level=fs_config["level"], rotation=fs_config["rotation"])

    return logger