文档章节

python中logging模块的使用

klaus丶
 klaus丶
发布于 2016/07/11 18:05
字数 163
阅读 57
收藏 4

精选30+云产品,助力企业轻松上云!>>>

#coding=utf8
import logging, os, sys, time
from logging import Logger
from logging.handlers import TimedRotatingFileHandler

def script_path():
    path = os.path.realpath(sys.argv[0])
    if os.path.isfile(path):
     path = os.path.dirname(path)
    return os.path.abspath(path)

def init_logger(logger_name):
    if logger_name not in Logger.manager.loggerDict:
        logger = logging.getLogger(logger_name)
        logger.setLevel(logging.DEBUG)
        # handler all
        log_path = os.path.join(script_path(),'logs')
        if not os.path.exists(log_path):
            os.makedirs(log_path)
        log_file = os.path.join(log_path,'all.log')
        handler = TimedRotatingFileHandler(log_file, when='midnight',backupCount=7)
        datefmt = '%Y-%m-%d %H:%M:%S'
        format_str = '[%(asctime)s]: %(name)s %(levelname)s %(lineno)s %(message)s'
        formatter = logging.Formatter(format_str, datefmt)
        handler.setFormatter(formatter)
        handler.setLevel(logging.INFO)
        logger.addHandler(handler)
        # handler error
        logerr_file = os.path.join(log_path,'error.log')
        handler = TimedRotatingFileHandler(logerr_file, when='midnight',backupCount=7)
        datefmt = '%Y-%m-%d %H:%M:%S'
        format_str = '[%(asctime)s]: %(name)s %(levelname)s %(lineno)s %(message)s'
        formatter = logging.Formatter(format_str, datefmt)
        handler.setFormatter(formatter)
        handler.setLevel(logging.ERROR)
        logger.addHandler(handler)


    logger = logging.getLogger(logger_name)
    return logger

logger = init_logger('cash')

if __name__ == '__main__':
    logger = init_logger('cash')
    logger.error('test-error')
    logger.info('test-info')
    logger.warn('test-warn')

 

klaus丶
粉丝 0
博文 48
码字总数 10481
作品 0
海淀
程序员
私信 提问
加载中
请先登录后再评论。
Python 基础 模块

python 中模块和保定 概念   如果将代码分才投入多个py 文件,好处:     同一个变量名也互不影响。 python 模块导入     要使用一个模块,我们必须先导入该模块。python 使用imp...

osc_4s0ww36w
2018/03/23
2
0
Python2.7 logging.config && logging.handlers

之前了解过python的logging模块,最近整理笔记时发现还有一篇logging的配置遗漏在角落里没整理出来,在此把logging的配置整理出来,在使用python自带的logging模块落日志时是可以在代码内进行...

China_OS
2015/01/06
315
0
(转)python logging模块

原文:http://www.cnblogs.com/dahu-daqing/p/7040764.html 1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件...

osc_pqk6rnzb
2019/08/20
19
0
python模块介绍- logging 日志工具

python模块介绍- logging 日志工具 目录 项目简介... 1 简介:... 2 应用程序和库中使用Logging. 3 记录日志到文件... 4 日志文件轮转... 4 日志级别... 5 日志实例命名... 6 项目简介 Pyth...

长平狐
2013/12/25
509
0
调试 OpenStack

由于 OpenStack 的所有项目都是采用 Python 开发,所以调试 OpenStack 的本质就是调试 Python,Python 的调试通常有以下两种。 Log:方便简单,适用简单的调试 Pdb:类似 C 语言的 gdb,支持...

koala bear
2013/08/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

1Mn18Cr18N无磁护环强度高

1Mn18Cr18N高氮奥氏体不锈钢具有强韧性好、耐蚀性好、无磁等诸多优点,成为核主泵飞轮保持环材料的选择。 保持环的热套工序要求保持环材料具备优良的热膨胀性能,飞轮保持环完整性的保证要求...

无磁钢
24分钟前
10
0
比较器,Comparator与Comparable

Comparable比较器 从JDK1.2后提供了比较器的接口:Comparable接口。 public interface Comparable<T>{ /** * 实现对象的比较处理操作 * @param o 要比较的对象 * @return...

哼着我的小调调
36分钟前
9
0
以每种语言编译时,在C和C ++中都有效的代码能否产生不同的行为?

问题: C and C++ have many differences, and not all valid C code is valid C++ code. C和C ++有很多区别,并非所有有效的C代码都是有效的C ++代码。 (By "valid" I mean standard code w......

富含淀粉
41分钟前
7
0
使用getApplication()作为上下文的对话框抛出“无法添加窗口-令牌null不适用于应用程序”

问题: My Activity is trying to create an AlertDialog which requires a Context as a parameter. 我的活动试图创建一个AlertContext,它需要一个Context作为参数。 This works as expect......

法国红酒甜
今天
13
0
亚马逊测评买家号多开_可以解决这个问题嘛?_微信公众号: VMlogin中文版

对于很多亚马逊卖家来说,做亚马逊测评是并不可少的,都在为了自己的店铺能够获得更多的销售,着重培养自己产品的各项属性,以求获得一个更好的权重排名从而获得更多的曝光,但是在旺季期间亚...

竹节猫-ASOer
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部