日期作者版本备注2020-12-7dingbinv1.0多线程安全和多进程安全的记录器库,名为dblogger,用python语言编写。它运行良好,功能稳定,性能强大,尤其是在多线程或多进程的Python程序中。dblogger的主要接口在文件中实现:smartlogger/utils.dblogger.py.dblogger配置文件为:smartlogger/conf/logger.conf。dblogger配置文件格式如下:[loggers]keys=root,SafeLogger[handlers]keys=consoleHandler,fileHandler,rotatingFileHandler,timedRotatingFileHandler,truncateTimedRotatingFileHandler[formatters]keys=fmt0[logger_root]level=INFOhandlers=consoleHandler[logger_SafeLogger]level=INFO#handlers=consoleHandler,truncateTimedRotatingFileHandlerhandlers=truncateTimedRotatingFileHandlerqualname=SafeLoggerpropagate=0[handler_consoleHandler]class=StreamHandlerargs=(sys.stdout,)level=INFOformatter=fmt0[handler_fileHandler]class=FileHandlerargs=("logs/app.log","a")level=INFOformatter=fmt0[handler_rotatingFileHandler]class=handlers.RotatingFileHandlerargs=("logs/app.log",'a',100*1024*1024,100)level=INFOformatter=fmt0[handler_timedRotatingFileHandler]class=handlers.TimedRotatingFileHandlerargs=("logs/app.log",'m',1,0)level=INFOformatter=fmt0[handler_truncateTimedRotatingFileHandler]class=smartlogger.utils.logutils.truncate_timed_rotating_filehandler.TruncateTimedRotatingFileHandlerargs=("logs/app.log",'m',1,3600)level=INFOformatter=fmt0[formatter_fmt0]format=[%(asctime)s][%(msecs)d,process(%(process)d),thread(%(thread)d),%(filename)s:%(lineno)d--%(funcName)s()%(levelname)s][%(message)s]datefmt=%Y-%m-%d%H:%M:%STruncateTimedRotatingFileHandler非常重要以至于它实现了以下功能:每隔几分钟或几小时,生成具有特定含义的日志文件名,然后将日志内容输出到具有相应名称的日志文件中。这是一个截断的时间轮换文件处理程序,它非常有用。您可以像这样运行dblogger演示示例:python-msmartlogger.loggerdemo.simpleloggerdemopython-msmartlogger.utils.logutils.dbloggerdemo然后您将看到目录下生成的轮换日志文件:运行上述演示命令后的smartlogger/logs。日志文件名可能是:app.log和app.log.2020-11-08_01-01等。源代码和详细信息请参见GitHub地址:https://github.com/apollo008/dblogger。
