`
xiaoyu966
  • 浏览: 257873 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python之我常用的logging

阅读更多

============================================================================

原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。

请注明转自:http://yunjianfei.iteye.com/blog/

============================================================================

日志模块在任何应用中都是不可缺的,我总结了下,日志模块主要应该有如下几个功能:

 

1. 日志分级,并且可以配置记录或者显示的日志级别

2.日志需要记录到特定文件中(如果开了多个进程,则根据进程或者端口号标示)

3.日志文件应该有定期清理或者大小限制等

 

根据这几个特点,我提炼了一个常用的logging用法,如下:

 

#!/usr/bin/env python2.7

import logging,os,string
from logging import handlers

MODULE="test_logging"
LOG_LEVEL=logging.DEBUG
log_path="./"

#Init logging
def init_logging(mark):
    log_file = MODULE + "." + str(mark) + ".log"
    logger = logging.getLogger()
    logger.setLevel(LOG_LEVEL)

    #fh = logging.FileHandler(os.path.join(log_path, log_file))
    fh = logging.handlers.TimedRotatingFileHandler(os.path.join(log_path, log_file), when='D', backupCount=10)
    sh = logging.StreamHandler()

    ###########This set the logging level that show on the screen#############
    #sh.setLevel(logging.DEBUG)
    #sh.setLevel(logging.ERROR)

    formatter = logging.Formatter('%(asctime)s -%(module)s:%(filename)s-L%(lineno)d-%(levelname)s: %(message)s')
    fh.setFormatter(formatter)
    sh.setFormatter(formatter)

    logger.addHandler(fh)
    logger.addHandler(sh)
    logging.info("Current log level is : %s",logging.getLevelName(logger.getEffectiveLevel()))

init_logging("1234")

 

分享到:
评论

相关推荐

    python的logging模块

    ### Python的logging模块详解 #### 一、简介与应用场景 在进行Python开发时,日志模块是必不可少的一部分,尤其对于大型或复杂的项目来说更是如此。Python内置的`logging`模块提供了一种简单且灵活的方式来记录...

    python日志输出----logging浅析与使用

    2. **打印到指定文件**:最常用的方式之一,可以长期保存日志,便于后续分析。 3. **多模块打印**:允许应用程序的不同部分向同一个日志文件或多个日志文件输出日志,这对于分布式系统特别有用。 4. **特殊的`...

    python日志输出----logging浅析与使用.pdf

    在Python中,`logging`模块是进行日志管理的标准库之一。本文将详细介绍`logging`模块的基本概念、配置方法及其在实际项目中的应用。 #### Logging模块概述 1. **基本概念** - **日志级别**:`logging`模块提供了...

    深度学习中常用工具Logging的总结

    ### 深度学习中常用工具Logging的总结 #### 一、Logging日志的重要性与应用场景 在深度学习项目中,Logging是一种重要的工具,用于记录程序的运行情况、调试信息、异常处理等多种信息。通过合理使用Logging,开发...

    python常用库

    本文将深入探讨在GitHub上5000多个开源Python项目中最常用的库,包括os、os.path、glob、sys、re、logging、subprocess、time、datetime、urllib、random、telnetlib、paramiko、pexpect、threading、yaml、json、...

    详解Python中的日志模块logging

    `logging`模块提供了几个常用函数,例如: - `basicConfig()`:用于快速设置日志基础配置,包括文件路径、日志级别、格式等。 - `getLogger(name=None)`:创建或获取一个logger对象,如果未提供名称,将返回根logger...

    Python中logging日志库实例详解

    在Python编程中,`logging`库是一个非常重要的模块,它提供了强大的日志记录功能,能够帮助开发者追踪程序运行状态,定位错误,以及进行调试。在本文中,我们将深入理解`logging`库的基本使用、常见对象、配置选项...

    python3依赖包.zip

    8. **日志管理**:logging库是Python内置的日志模块,可以帮助开发者记录和调试程序运行过程中的信息。 9. **文件处理**:PIL(Python Imaging Library)或其分支Pillow处理图像,csv模块处理CSV格式的数据,json...

    Python常用模块logging——日志输出功能(示例代码)

    Python的logging模块是Python标准库中的一个重要模块,它提供了一个灵活的日志记录系统。使用logging模块,开发者可以输出不同级别的日志信息到控制台、文件或者网络,从而便于程序的调试和运行监控。 logging模块...

    Python常用组件、命令大总结.pdf

    Python是世界上最受欢迎的编程语言之一,特别是在数据处理、自动化任务和Web开发领域。在Python中,有很多常用的组件、函数和命令,这些工具极大地提升了开发效率。以下是对标题和描述中提到的一些关键知识点的详细...

    python logging.info在终端没输出的解决

    例如,在Java中,SLF4J(Simple Logging Facade for Java)是一个常用的日志框架,它可以与不同的日志实现进行无缝集成,如Logback、Log4J等。 在SLF4J中,如果想要输出包含变量的日志信息,需要特别注意字符串拼接...

    详解Python实现进度条的4种方式

    在Python编程中,进度条是一个常用的功能,它可以帮助用户了解程序的执行进度,尤其是当程序执行时间较长或者涉及复杂的后台操作时。本文将介绍Python实现进度条的四种方法,每种方法都有其特点和使用场景。 第一种...

    Python进阶.pdf

    - `open()`用于打开文件,返回文件对象,常用模式有读写模式('r'、'w'、'a'等)和二进制模式('rb'、'wb'等)。 19. **兼容Python 2+3**: - 针对Python 2和3的差异,编写兼容的代码以确保在两个版本中都能正常...

    详解Python自建logging模块

    最开始,我们用最短的代码体验一下logging的基本功能。 import logging logger = logging.getLogger() logging.basicConfig() logger.setLevel('DEBUG') logger.debug('logsomething') #输出 out>>DEBG:root:...

    Python-一个采用Python开发的简单缓存服务器

    缓存服务器是提高应用性能的关键技术之一,它通过存储常用数据或计算结果,减少对原始数据源(如数据库或远程API)的访问,从而降低了延迟并减轻了后端系统的压力。本项目"Python-一个采用Python开发的简单缓存...

    Python-基于Python的接口自动化框架

    1. requests库:它是Python中最常用的HTTP库,可以方便地发送GET、POST等各种HTTP请求,与服务器进行数据交互。在接口自动化测试中,requests库用于构造和发送请求,获取响应数据。 2. unittest/pytest:这是Python...

    python第三方库

    - logging:Python标准库中的日志模块,提供灵活的日志记录方案。 - debugpy:Python的调试工具,帮助开发者在运行时检查代码。 6. **并发与异步**: - asyncio:Python 3.4引入的标准库,用于编写异步I/O代码。...

    Python考勤系统源码(增删改查)

    2. **Web框架**:Python中的Django或Flask是常用的Web开发框架。Django提供了ORM(对象关系映射)和内置的模板引擎,适合快速开发大型项目;Flask则更轻量级,适用于小型项目,可通过扩展实现复杂功能。 3. **...

    python学习教程,总结常用的命令及用法

    这篇教程总结了Python的一些常用命令和用法,对于初学者来说是很好的学习资料。 首先,Python源文件通常位于/usr/bin/python2这样的路径下,这表示Python解释器的位置。在Python中,源代码可以通过`py_compile`模块...

Global site tag (gtag.js) - Google Analytics