记忆力差,上次看了遍logger现在又忘了,不得不写笔记。
logging 全局静态,可真接拿来用:
import logging
logging.basicConfig(filename='/tmp/my_log_test.log', level=logging.INFO) # StreamHandler
logging.debug('Debug message')
logging.info('Info message')
logging.error('Error message')
mylogger = logging.getLogger("abc")
mylogger.error("Hello, World")
$cat /tmp/my_log_test.log
INFO:root:Info message
ERROR:root:Error message
ERROR:abc:Hello, World
logging.*** 使用的是全局的root logger实例, mylogger 是一个新实例,它默认继承root logger的设置。
概念:
logger总是使用LEVLE来控制输出阈值
LOGGER --> LEVEL CONTROLER --> HANDLER(FORMATTER, SPEC CONFIG)
(实例) (实例,一个LOGGER可有多个HANDLER实例)