#python# 日志使用logging

将日志打印入文件,同时打印在控制台

 

logfile.py

# -*- coding: utf-8 -*-
import sys
import logging
from logging.handlers import TimedRotatingFileHandler


def getlogConfig(name='default_name'):
    # 第一步,创建一个logger
    # logging.basicConfig()
    logger = logging.getLogger(name)
    logger.setLevel(logging.DEBUG)  # Log等级总开关
    logfile = 日志目录 + "\\log\\" + name

    if not logger.handlers:
        # 第二步,创建一个filehandler,用于写入日志文件
        # fh = logging.FileHandler(logfile, mode='a')
        fh = TimedRotatingFileHandler(filename=logfile, when='midnight', interval=1, encoding='utf-8')
        fh.suffix = "%Y%m%d.log"
        fh.setLevel(logging.INFO)  # 输出到file的log等级的开关

        # 第三步,再创建一个handler,用于输出到控制台
        ch = logging.StreamHandler(sys.stdout)
        ch.setLevel(logging.DEBUG)  # 输出到console的log等级的开关

        # 第四步,定义handler的输出格式
        formatter = logging.Formatter("[时间:%(asctime)s|进程%(process)d]:%(message)s")
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 第五步,将logger添加到handler里面
        logger.addHandler(fh)
        logger.addHandler(ch)

    def printLog(level='debug', loginfo=''):
        log_dic={'debug':logger.debug, 'info':logger.info, 'warning':logger.warning, 'error':logger.error, 'critical':logger.critical}
        log_dic.get(level)(loginfo)
    return printLog



#其他文件使用
test_file.py

# -*- coding: utf-8 -*-
import time
from logfile import getlogConfig
logfile = "test.log"
printLog = getlogConfig(logfile)
if __name__ == '__main__':    
for i in range(200):        
    printLog("info", "日志记录 {}".format(i))        
    time.sleep(1)    
exit(0)

 

 

 

----打印结果

[时间:2018-07-26 22:54:13,492|进程2040]:2018-07-26 22:54:13.492506|主进程运行完毕 0
[时间:2018-07-26 22:54:14,506|进程2040]:2018-07-26 22:54:14.506488|主进程运行完毕 1
[时间:2018-07-26 22:54:15,520|进程2040]:2018-07-26 22:54:15.520940|主进程运行完毕 2
[时间:2018-07-26 22:54:16,534|进程2040]:2018-07-26 22:54:16.534985|主进程运行完毕 3
[时间:2018-07-26 22:54:17,548|进程2040]:2018-07-26 22:54:17.548912|主进程运行完毕 4
[时间:2018-07-26 22:54:18,562|进程2040]:2018-07-26 22:54:18.562770|主进程运行完毕 5
[时间:2018-07-26 22:54:19,576|进程2040]:2018-07-26 22:54:19.576838|主进程运行完毕 6
[时间:2018-07-26 22:54:20,590|进程2040]:2018-07-26 22:54:20.590897|主进程运行完毕 7
[时间:2018-07-26 22:54:21,604|进程2040]:2018-07-26 22:54:21.604751|主进程运行完毕 8

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pafei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值