python log模块使用实例

本文介绍了如何在Python中使用log模块进行日志管理,包括在控制台输出和写入本地日志文件。通过示例展示了不同级别(DEBUG, INFO, WARNING, ERROR, CRITICAL)的日志记录,并且日志文件按日期自动命名。" 129724233,7685366,理解梯度下降:从一维到多元,"['机器学习', '算法', '数值计算']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在进行python编码过程中,处理使用print外经常用到log模块来输出记录日志信息,以下是一个log模块使用实例,实现log日志同时在控制台输出并记录到本地日志文件,同时,实现将日志记录文件按日进行记录:

#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
@author:freesigefei
Created on 2016年4月8日
'''
import logging,time
#--------------------------------------------------------------------------------------
def initlog():
    '''重新定义log输出方法,实现将日志信息同时分别输出到日志文件和console控制台'''
    logger = logging.getLogger()
    logSavePath='D:\\log\\'
    Curren_Time=time.strftime('%Y-%m-%d')
    logSaveName=' Log Test.txt'
    logFileObject=logSavePath+Curren_Time+logSaveName
    logging.basicConfig(
                    level    = logging.DEBUG,
                    format   = '%(asctime)s - %(levelname)s - AutoTest:%(message)s',
                    filename = logFileObject, #日志文件按天增量记录到log目录
                    filemode = 'a')
    console = logging.StreamHandler()
    formatter = logging.Formatter('%(asctime)s - %(levelname)s - AutoTest:%(message)s')
    console.setFormatter(formatter)
    logger.addHandler(console)
    console.setLevel(logging.DEBUG)
    return [logger,console]

def logMsg(level,err_msg):
    '''实现同时输出日志到文件及控制台,level代表的是级别,err_msg代表日志信息'''
    logger,console= initlog()
    if level==0:
        logging.debug(err_msg)
    elif level==1:
        logging.info(err_msg)
    elif level==2:
        logging.warning(err_msg)
    elif level==3:
        logging.error(err_msg)
    else :
        logging.critical(err_msg)
    logger.removeHandler(console)#清除log控制台句柄,防止日志重复输出
    
if __name__ == "__main__":
    for i in [0,1,2,3,4]:
        logMsg(i,u'日志测试')

运行测试后,控制台输出日志如下:

2016-05-04 18:19:37,094 - DEBUG - AutoTest:日志测试
2016-05-04 18:19:37,094 - INFO - AutoTest:日志测试
2016-05-04 18:19:37,094 - WARNING - AutoTest:日志测试
2016-05-04 18:19:37,094 - ERROR - AutoTest:日志测试
2016-05-04 18:19:37,094 - CRITICAL - AutoTest:日志测试

同时会在本地目录D:log下生成一个带有日期的日志文件,并记录相关日志信息。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值