使用流程
- 创建一个logger
- 创建一个handler,用于写入日志文件
- 定义handler的输出格式
- 将handler添加到logger
- 记录日志
示例
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
def logInit():
# 创建一个logger
logger = logging.getLogger("firstlog")
logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('log.txt')
fh.setLevel(logging.DEBUG)
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 将handler添加到logger
logger.addHandler(fh)
logger.addHandler(ch)
def txtLog():
# 创建一个logger
logger = logging.getLogger("secondlog")
logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('log.txt') #不会显示在终端
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
def showSomeMsg():
a = logging.getLogger("firstlog")
b = logging.getLogger("secondlog")
# 记录几条日志
a.debug("debug message")
a.info("info message")
a.warning("warning message")
a.error("error message")
a.critical('critical message')
b.info("b.info message")
def main():
logInit()
txtLog()
showSomeMsg()
main()
结果如下:
log.txt_show.png
logging_cmd_show.png