python日志记录

python有很完整的日志记录,用的logging模块,只是了解不深,只知道简单的使用。下面的代码是在百度一轮后东拼西凑后能简单使用的记录日志代码。
这里的代码,既能将日志写入日志文件,也能将日志内容输出到控制台。

1.判断日志函数是否已经创建,如果已将创建则返回,没有创建则创建
2.判断日志文件大小,防止文件过大


# -*- coding: utf-8 -*-
"""
创建日志
输入参数:
    log_name: 日志句柄名,不能有默认参数,由外部传入__name__,这样可以记录是哪个模块在记录日志
    log_file_name: 日志文件名
示例:
    logger = my_logger(__name__, '这是日志文件名.txt')
    logger.info('这是日志内容')
"""
import logging
from logging.handlers import TimedRotatingFileHandler  # 滚动日志,防止日志文件过大

def my_logger(log_name,log_file):
    logger = logging.getLogger(log_name)
    logger.setLevel(logging.DEBUG)

    # 创建输出格式
    formatter = logging.Formatter('%(asctime)s-%(name)s-%(message)s')

    # 创建输出到文件的日志流
    # 每个十天滚动日志,备份日志文件数为0
    file_handler = TimedRotatingFileHandler(log_file,when='D',interval=10,backupCount=0)
    file_handler.setLevel(logging.INFO)
    file_handler.setFormatter(formatter)

    # 创建输出到cmd窗口的日志流
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.INFO)
    console_handler.setFormatter(formatter)
    # 将日志流添加到日志句柄中
    logger.addHandler(file_handler)
    logger.addHandler(console_handler)
    #
    return logger

参考:

http://python.jobbole.com/81666/
http://www.cnblogs.com/BeginMan/p/3335110.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值