class logging.Handler
方法 | 描述 |
---|---|
createLock() | |
acquire() | |
release() | |
setLevel(level) | |
setFormatter(fmt) | |
addFilter(filter) | |
removeFilter(filter) | |
filter(record) | |
flush() | |
close() | |
handle(record) | |
handleError(record) | |
format(record) | |
emit(record) |
import logging
logger = logging.getLogger("AppName")
# 定义handler,来控制日志的输出,这里同时输出到test.log文件和控制台
file_handler = logging.FileHandler("test.log")
console_handler = logging.StreamHandler()
logger.addHandler(file_handler)
logger.addHandler(console_handler)
logger.error('this is error message') # test.log核控制台都有
logger.removeHandler(file_handler) # 移除对文件日志的输入
logger.error('this is error message2') # 只有控制台有
class logging.StreamHandler(stream=None)
如果stream
指定,则会输出,如果不指定默认是sys.stderr
方法 | 描述 |
---|---|
emit(record) | |
flush() | |
setStream(stream) |
class logging.FileHandler(filename, mode='a', encoding=None, delay=False)
mode默认为追加,encoding默认是输出文件的编码
方法 | 描述 |
---|---|
close() | |
emit(record) |
参考:
https://docs.python.org/3/library/logging.handlers.html#logging.StreamHandler