Python3 标准库自带logging模块,使用的时候直接引用
写log
import logging # 引入logging模块 from logging.handlers import TimedRotatingFileHandler import os.path import time # 第一步,创建一个logger logger = logging.getLogger() logger.setLevel(logging.INFO) # Log等级总开关 # 第二步,创建一个handler,用于写入日志文件 rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time())) log_path = os.path.dirname(os.getcwd()) + '/log/Logs/' log_name = log_path + rq + '.log' logfile = log_name fh = logging.FileHandler(logfile, mode='w') fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关 # 第三步,定义handler的输出格式 formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") #创建TimedRotatingFileHandler对象 log_file_handler = TimedRotatingFileHandler(filename="ds_update", when="D", interval=2, backupCount=2) fh.setFormatter(formatter) # 第四步,将logger添加到handler里面 logger.addHandler(fh) # 日志 # logger.debug('this is a logger debug message') # logger.info('this is a logger info message') # logger.warning('this is a logger warning message') # logger.error('this is a logger error message') # logger.critical('this is a logger critical message') # filename:日志文件名的prefix; # # when:是一个字符串,用于描述滚动周期的基本单位,字符串的值及意义如下: # “S”: Seconds # “M”: Minutes # “H”: Hours # “D”: Days # “W”: Week day (0=Monday) # “midnight”: Roll over at midnight # # interval: 滚动周期,单位有when指定,比如:when=’D’,interval=1,表示每天产生一个日志文件 # # backupCount: 表示日志文件的保留个数
如何引用logger方法?
from app.log.log import logger data={ "bdCode":"GSXA0580" } # 使用python自带的字符串格式化,不推荐 logger.info("%s data的值为:%s"%("hello world!!",data)) # 使用logger的格式化,推荐 logger.info("%s data的值为:%s","hello world!!",data) logger.info("data:",data) # 使用format函数,推荐 logger.info("{}data的值是:{}".format("Hello,world!!!",data)) for i in range(1,20): print(i) logger.info("i的值为:%s,入参为:%s",i,data)
打印日志如下:
2018-06-10 15:52:37,817 - showlog.py[line:11] - INFO: hello world!! data的值为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,817 - showlog.py[line:13] - INFO: hello world!! data的值为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,817 - showlog.py[line:14] - INFO: data: 2018-06-10 15:52:37,818 - showlog.py[line:16] - INFO: Hello,world!!!data的值是:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:1,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:2,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:3,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:4,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:5,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:6,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:7,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:8,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:9,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:10,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:11,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:12,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:13,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:14,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:15,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:16,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:17,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:18,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,821 - showlog.py[line:19] - INFO: i的值为:19,入参为:{'bdCode': 'GSXA0580'}
参考文档:http://python.jobbole.com/86887/
相关推荐
### Python的logging模块详解 #### 一、简介与应用场景 在进行Python开发时,日志模块是必不可少的一部分,尤其对于大型或复杂的项目来说更是如此。Python内置的`logging`模块提供了一种简单且灵活的方式来记录...
在Python编程中,日志模块`logging`是一个强大的工具,用于记录程序运行过程中的各种信息。在多进程环境中,正确地使用`logging`模块尤为重要,因为它可以帮助开发者追踪和诊断分布式系统的问题。本文将深入探讨如何...
总结,Python的logging模块通过handlers提供了丰富的日志管理功能,能够适应各种应用场景,从简单的控制台输出到复杂的日志存储和归档。理解并熟练使用这些handlers对于编写可维护和可调试的Python程序至关重要。
Python的logging模块是用于生成日志的工具,它在软件开发中扮演着至关重要的角色,尤其是在调试和维护阶段。本文将深入解析logging模块的工作原理,并介绍如何在实际应用中使用它。 首先,我们要了解logging模块的...
### Python logging模块封装实现原理详解 #### 一、引言 在软件开发过程中,日志记录是一项非常重要的功能。它不仅能够帮助开发者更好地理解和调试代码,还能为运维人员提供系统运行状态的重要信息。Python自带的...
### Python Logging 模块书写日志以及日志分割详解 #### 概述 在软件开发过程中,合理地记录日志对于排查问题、监控系统状态至关重要。Python 的 `logging` 模块提供了强大的日志处理功能,它允许开发者自定义日志...
在Python中,logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中。在大型项目中,将日志信息记录到文件中是非常重要的,因为它可以帮助开发人员或者运维...
首先,让我们深入了解Python的logging模块。它是Python标准库的一部分,提供了丰富的日志记录功能,允许开发者在代码中插入日志语句,以便在运行时或之后收集和分析应用程序的行为。logging模块提供了不同级别的日志...
Python的logging模块是用于日志记录的标准库,它提供了丰富的功能来满足不同级别的日志需求,从简单的调试信息到复杂的日志记录策略。在Python程序中使用logging模块可以帮助开发者跟踪程序运行状态,诊断错误,以及...
#### 三、Logging模块的基本用法 下面是一个简单的示例,展示如何使用`logging`模块: ```python import logging # 配置日志输出格式和级别 logging.basicConfig(format='%(levelname)s:%(message)s', level=...
Python的logging模块是用于生成...总之,Python的logging模块提供了一套强大且灵活的日志管理系统,无论是简单的调试信息还是复杂的生产环境监控,都能满足需求。正确地使用日志,能显著提升开发效率和问题解决速度。
Python的logging模块提供了全面的日志记录功能,便于对应用程序进行调试、监控和故障分析。 1. 日志相关概念: - 日志是跟踪软件运行时事件的方法,通过记录事件消息和严重性级别(level),以反映程序的运行状态...
在Python3.6版本中, Logging模块是记录应用程序日志的标准库模块,它提供了一组灵活的工具来进行配置和记录日志信息。使用Logging模块可以很便捷地将日志信息输出到控制台、文件、甚至是网络上的服务器。 Logging...
基础的使用方法是通过logging模块提供的简单配置函数logging.basicConfig()来设置。 ```python import logging logging.debug('debug message') ***('info message') logging.warning('warning message') logging....
Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志...
总而言之,Python的logging模块是强大且灵活的,完全能够满足从简单到复杂的日志记录需求。对于多进程程序,虽然需要一些额外的工作来确保日志能够正确记录,但通过一些策略和工具仍然可以实现高效和准确的日志管理...
总的来说,Python的logging模块提供了一个强大而灵活的日志系统,能够适应各种复杂的应用场景。通过适当的配置,可以有效地跟踪和分析程序的运行情况,从而提高开发和维护效率。了解并熟练使用这个模块,对于提升...
在Python中,`logging`模块是用于日志记录的标准库,它提供了多种级别的日志记录(如DEBUG、INFO、WARNING、ERROR等)以及灵活的日志配置。然而,在高并发或性能敏感的应用中,同步写入日志可能会成为程序性能的瓶颈...
### Python日志输出详解——深入理解logging模块 在Python编程中,日志系统扮演着至关重要的角色,尤其是在处理复杂项目时。它不仅帮助开发者追踪软件运行过程中的各种事件,还能在遇到问题时提供宝贵的线索。...
首先,我们需要了解Python Logging模块的基本结构。Logging模块包含几个主要组件,分别是Logger、Handler、Filter和Formatter。Logger是程序中日志记录的入口,它将日志消息分发给不同的Handler。Handler负责将日志...