Skip to main content

Secondary encapsulation `logging`, more convenient and fast to create the logger. Use this module can quickly create instances of `logging.Logger` and complete a series of log configuration, make your code cleaner.

Project description

LOGO Release Python Versions License Downloads

gqylpy-log

English | 中文

gqylpy-log is a secondary encapsulation of logging that allows for more convenient and quick creation of loggers. Using the gqylpy_log module, you can rapidly create logging.Logger instances and complete a series of logging configurations, making your code cleaner.

pip3 install gqylpy_log

Using the Built-in Logger

gqylpy_log comes with a built-in logger based on logging.StreamHandler. You can directly call it as follows:

import gqylpy_log as glog

glog.debug(...)
glog.info(...)
glog.warning(...)
glog.error(...)
glog.critical(...)

Its default configuration is as follows:

{
    "level": "NOTSET",
    "formatter": {
        "fmt": "[%(asctime)s] [%(module)s.%(funcName)s.line%(lineno)d] "
               "[%(levelname)s] %(message)s",
        "datefmt": "%F %T"
    },
    "handlers": [{"name": "StreamHandler"}]
}

You can adjust the default logger configuration as needed:

glog.default["level"] = "INFO"

However, please note that the default logger is created the first time a logging method is called. To make changes effective, you must modify the configuration before the first call.

Creating a New Logger

The following example demonstrates how to obtain a logger with three handlers:

import gqylpy_log as glog

log: logging.Logger = glog.__init__(
    "alpha",
    level="DEBUG",
    formatter={"fmt": "[%(asctime)s] [%(levelname)s] %(message)s"},
    handlers=[
        {"name": "StreamHandler"},
        {
            "name": "FileHandler",
            "level": "ERROR",
            "filename": "/var/log/alpha/error.log",
            "encoding": "UTF-8",
            "formatter": {"fmt": "[%(asctime)s] %(message)s", "datefmt": "%c"},
            "options": {"onlyRecordCurrentLevel": True}
        },
        {
            "name": "TimedRotatingFileHandler",
            "level": "INFO",
            "filename": "/var/log/alpha/alpha.log",
            "encoding": "UTF-8",
            "when": "D",
            "interval": 1,
            "backupCount": 7
        }
    ]
)

log.info(...)

Alternatively, if you prefer to always call it through the gqylpy_log module, specify the gname parameter:

glog.__init__(..., gname="alpha")

Please note that specifying the gname parameter will override and permanently disable the default logger.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gqylpy_log-2.0.1.tar.gz (12.1 kB view hashes)

Uploaded Source

Built Distribution

gqylpy_log-2.0.1-py3-none-any.whl (13.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page