我用以下方法创建了一个全局记录器:
def logini():
logfile='/var/log/cs_status.log'
import logging
import logging.handlers
global logger
logger = logging.getLogger()
logging.basicConfig(filename=logfile,filemode='a',format='%(asctime)s %(name)s %(levelname)s %(message)s',datefmt='%y%m%d-%H:%M:%S',level=logging.DEBUG,propagate=0)
handler = logging.handlers.RotatingFileHandler(logfile, maxBytes=2000000, backupCount=5)
logger.addHandler(handler)
__builtins__.logger = logger
它可以工作,但是我得到了每个日志2个输出,一个有格式,一个没有。在
我意识到这是由文件旋转器引起的,因为我可以注释掉处理程序代码的2行,然后得到一个输出的正确日志条目。在
如何防止日志旋转器输出第二个条目?在
当前您正在配置两个指向同一个
logfile
的文件记录器。要只使用RotatingFileHandler
,请去掉basicConfig
调用:basicConfig
为您提供了一种简单的方法来实例化StreamHandler
(默认)或{相关问题 更多 >
编程相关推荐