#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author(s): xili
# @Created: 2020/6/30
import logging
import os
logger = logging.getLogger(__name__)
def logToConsoleAndFile():
"""
日志输出到控制台和指定文件
"""
# 日志输出到控制台
logger.setLevel(logging.INFO)
ch = logging.StreamHandler()
# 日志输出到文件
logfile = './test.log'
if os.path.exists(logfile):
# 清空历史日志
os.remove(logfile)
fh = logging.FileHandler(logfile, mode='a')
fh.setLevel(logging.INFO)
# 定义输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
fh.setFormatter(formatter)
# 将logger添加到handler里面
logger.addHandler(ch)
logger.addHandler(fh)
if __name__ == '__main__':
logToConsoleAndFile()
logger.info("test log!")
执行及结果:
[root@xili]# python test3.py
2020-06-30 11:04:51,102 - __main__ - INFO - test log!
[root@xili]# ll
-rw-r--r-- 1 root root 54 Jun 30 11:04 test.log
[root@xili]# cat test.log
2020-06-30 11:04:51,102 - __main__ - INFO - test log!