python logging模块初步使用

1、简单使用写日志到文本,设置格式

import logging
logging.basicConfig(
		filename = 'log.log',
		format = '%(asctime)s\tFile \"%(filename)s\",line %(lineno)s\t%(levelname)s: %(message)s',
		level = logging.INFO
)
logging.info("info_message")

2、添加设置日志保留数量,切片方式

#coding:utf-8
import logging
import time
import re
from logging.handlers import TimedRotatingFileHandler
from logging.handlers import RotatingFileHandler

def backroll():
    #日志打印格式
    logFormat = '%(asctime)s\tFile \"%(filename)s\",line %(lineno)s\t%(levelname)s: %(message)s'
    formatter = logging.Formatter(logFormat)
    #创建TimedRotatingFileHandler对象
    log_file_handler = TimedRotatingFileHandler(filename="./file/log.txt", when="S", interval=10, backupCount=3)
    #log_file_handler.suffix = "%Y-%m-%d_%H-%M.log"
    #log_file_handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}.log$")
    log_file_handler.setFormatter(formatter)
    logging.basicConfig(format =logFormat, level=logging.INFO)
    log = logging.getLogger()
    log.addHandler(log_file_handler)
    #循环打印日志
    log_content = "test log2"
    count = 0
    while count < 40:
        log.error(log_content)
        time.sleep(5)
        count = count + 1
    log.removeHandler(log_file_handler)


if __name__ == "__main__":
    backroll()

"""
    记录log日志工厂函数
"""
import logging
import logging.handlers


class LogFactory(object):
    def __init__(self, filename):
        self.filename = filename
        self.log = logging.getLogger(self.filename)
        self.log.setLevel(logging.DEBUG)
        handler = logging.handlers.RotatingFileHandler(self.filename, maxBytes=100 * 1024 * 1024, backupCount=1000)
        formatter = logging.Formatter(
            '%(asctime)s %(levelname)s: %(threadName)s [%(module)s.%(funcName)s, Line:%(lineno)d] %(message)s')
        handler.setFormatter(formatter)
        self.log.addHandler(handler)
    def msg(self, msg):
        self.log.info(msg)
    def emsg(self, msg):
        self.log.error(msg)

if __name__ == '__main__':
    log = LogFactory("log.log")
    try:
        log.msg("Begin to load articles and topics...")
        log.emsg('HHHHHHHHHHH')
    except Exception as e:
        log.msg("Load catch error:%s" % e)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值