使用流程
- 創建一個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