loggong模块
Posted 爱吃西红柿的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loggong模块相关的知识,希望对你有一定的参考价值。
logging模块
用于便捷记录日志且线程安全的模块
1、单文件日志
1 import logging 2 3 4 logging.basicConfig(filename=\'log.log\', 5 format=\'%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s\', 6 datefmt=\'%Y-%m-%d %H:%M:%S %p\', 7 level=10) 8 9 logging.debug(\'debug\') 10 logging.info(\'info\') 11 logging.warning(\'warning\') 12 logging.error(\'error\') 13 logging.critical(\'critical\') 14 logging.log(10,\'log\')
日志等级:
1 CRITICAL = 50 2 FATAL = CRITICAL 3 ERROR = 40 4 WARNING = 30 5 WARN = WARNING 6 INFO = 20 7 DEBUG = 10 8 NOTSET = 0
注:只有【当前写等级】大于【日志等级】时,日志文件才被记录。
2、多文件日志
对于上述记录日志的功能,只能将日志记录在单文件中,如果想要设置多个日志文件,logging.basicConfig将无法完成,需要自定义文件和日志操作对象。
日志一:
# 定义文件 file_1_1 = logging.FileHandler(\'l1_1.log\', \'a\', encoding=\'utf-8\') fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") file_1_1.setFormatter(fmt) file_1_2 = logging.FileHandler(\'l1_2.log\', \'a\', encoding=\'utf-8\') fmt = logging.Formatter() file_1_2.setFormatter(fmt) # 定义日志 logger1 = logging.Logger(\'s1\', level=logging.ERROR) logger1.addHandler(file_1_1) logger1.addHandler(file_1_2) # 写日志 logger1.critical(\'1111\')
日志二:
1 # 定义文件 2 file_2_1 = logging.FileHandler(\'l2_1.log\', \'a\') 3 fmt = logging.Formatter() 4 file_2_1.setFormatter(fmt) 5 6 # 定义日志 7 logger2 = logging.Logger(\'s2\', level=logging.INFO) 8 logger2.addHandler(file_2_1)
如上述创建的两个日志对象
- 当使用【logger1】写日志时,会将相应的内容写入 l1_1.log 和 l1_2.log 文件中
- 当使用【logger2】写日志时,会将相应的内容写入 l2_1.log 文件中
以上是关于loggong模块的主要内容,如果未能解决你的问题,请参考以下文章
CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段