pythonlog数组_python log 简单处理

本文介绍了如何在Python中配置和使用logging模块,包括设置日志级别、输出到控制台和文件,以及使用TimedRotatingFileHandler进行日志轮转。通过示例代码展示了不同级别的日志输出,如DEBUG、INFO、WARNING、ERROR和CRITICAL。
摘要由CSDN通过智能技术生成

1. 代码如下:

#!/usr/bin/env python

#encoding: utf8

import sys, os

reload(sys)

sys.setdefaultencoding('utf-8')

import logging

import logging.handlers

scriptDir = os.path.dirname(os.path.abspath(__file__))

def initLogger(logfile, level, console=False):

logger = logging.getLogger(__name__);

logger.setLevel(level)

formatter = logging.Formatter("[%(asctime)-15s] %(levelname)s %(name)s : %(message)s")

if console:

ch = logging.StreamHandler()

ch.setFormatter(formatter)

logger.addHandler(ch)

try:

logDir = os.path.dirname(logfile)

if not os.path.isdir(logDir):

os.makedirs(logDir)

handler = logging.handlers.TimedRotatingFileHandler(logfile, when="D", backupCount=30)

handler.setFormatter(formatter)

logger.addHandler(handler)

except Exception, e:

logger.warn("log file init failed: %s", e)

return logger

if __name__ == "__main__":

logfile = os.path.join(scriptDir, "../log/xxxx.log")

logger = initLogger(logfile, logging.INFO, console=True)

logger.debug("debug test!")

logger.info("info test!");

logger.warning("warning test!");

logger.error("error test!");

logger.critical("critical test!");

运行输出,并且还会在当前目录的上一级目录的 log 目录下面产生一个 xxxx.log 的文件

[2017-08-31 03:12:40,216] INFO __main__ : info test!

[2017-08-31 03:12:40,216] WARNING __main__ : warning test!

[2017-08-31 03:12:40,216] ERROR __main__ : error test!

[2017-08-31 03:12:40,216] CRITICAL __main__ : critical test!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值