赞
踩
1、logging:日志记录工具
2、logging.config:日志记录配置
3、logging.handlers:日志处理程序
#!/usr/bin/python3 # -*- coding: UTF-8 -*- import logging import logging.handlers as loghandlers import logging.config as logconfig def loginit(logname,logpath): logger = logging.getLogger(logname) logger.setLevel(logging.DEBUG) # 创建处理器 # loghandler = logging.StreamHandler() # 日志信息输出到终端 # loghandler = logging.FileHandler(logpath) # 日志信息输出到文件 # loghandler = loghandlers.RotatingFileHandler(logpath,maxBytes=1024*1,backupCount=5) # 根据文件大小轮换日志文件 loghandler = loghandlers.TimedRotatingFileHandler(logpath,when='M',interval=1,backupCount=5) # 根据时间轮换日志文件 loghandler.setLevel(logging.DEBUG) # 创建格式器(打印日志的时间-打印日志级别的名称-打印当前执行程序名-打印日志的当前函数-打印日志的当前行号: 日志信息) logformatter = logging.Formatter('%(asctime)s-%(levelname)s-%(filename)s-%(funcName)s-%(lineno)d: %(message)s') # 将格式器添加到处理器中 loghandler.setFormatter(logformatter) # 将处理器添加到记录器中 logger.addHandler(loghandler) return logger def main(logger): logger.info('123') return def test(logger): logger.warning('456') return if __name__ == '__main__': logger = loginit('simple_example','log.log') main(logger) test(logger)
第一种实现:
#!/usr/bin/python3 # -*- coding: UTF-8 -*- import logging from logging.handlers import SysLogHandler def loginit(logname): logger = logging.getLogger(logname) logger.setLevel(logging.DEBUG) # 创建处理器 loghandler = SysLogHandler(facility=SysLogHandler.LOG_USER, address='/dev/log') loghandler.setLevel(logging.DEBUG) # 创建格式器(打印日志的时间-打印日志级别的名称-打印当前执行程序名-打印日志的当前函数-打印日志的当前行号: 日志信息) logformatter = logging.Formatter('%(filename)s[%(process)d] %(levelname)s: %(message)s') # 将格式器添加到处理器中 loghandler.setFormatter(logformatter) # 将处理器添加到记录器中 logger.addHandler(loghandler) return logger def main(logger): logger.info('123') return def test(logger): logger.warning('456') return if __name__ == '__main__': logger = loginit('simple_example') main(logger) test(logger)
第二种实现:
#!/usr/bin/python3 # -*- coding: UTF-8 -*- import logging from logging.handlers import SysLogHandler def loginit(logname): logger = logging.getLogger(logname) logger.setLevel(logging.DEBUG) # 创建处理器 loghandler = SysLogHandler(address=("127.0.0.1", 514)) loghandler.setLevel(logging.DEBUG) # 创建格式器(打印日志的时间-打印日志级别的名称-打印当前执行程序名-打印日志的当前函数-打印日志的当前行号: 日志信息) logformatter = logging.Formatter('%(filename)s[%(process)d] %(levelname)s: %(message)s') # 将格式器添加到处理器中 loghandler.setFormatter(logformatter) # 将处理器添加到记录器中 logger.addHandler(loghandler) return logger def main(logger): logger.info('123') return def test(logger): logger.warning('456') return if __name__ == '__main__': logger = loginit('simple_example') main(logger) test(logger)
详细信息参考官方手册
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。