English | 中文
gqylpy-logis a secondary encapsulation ofloggingthat allows for more convenient and quick creation of loggers. Using thegqylpy_logmodule, you can rapidly createlogging.Loggerinstances and complete a series of logging configurations, making your code cleaner.
pip3 install gqylpy_log
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.
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.