Python的 Datetime 、 Logging 模块

Datetime模块

datetime是python处理时间和日期的标准库

类名

date类         日期对象,常用的属性有 year 、 month 、 day

time类          时间对象hour、 minute、 second、毫秒

datetime类         日期时间对象,常用的属性有 hour 、minute 、second 、microsecond

timedelta类         时间间隔,即两个时间点之间的长度,参数:weeks、days、hours、minutes、seconds、microsecondes、milliseconds

最大最小的日期时间范围

datetime类中常用方法

获取当前日期时间:   datetime.now()

日期时间转化为时间戳: 时间日期对象.timestamp()

时间戳转化为日期时间: datetime.fromtimestamp(时间戳)

日期时间对象转字符串: 时间日期对象.strftime(format)

字符串转日期时间对象: datetime.strptime(data_str, format)

格式字符串常用格式

%Y/%y 年    %m 月    %d 日

%H/%I 时    %M 分    %S 秒

Logging模块

简单使用

logging.basicConfig()    对logger进行配置

logging.level(message)   创建一条level级别的日志

日志等级

DEBUG      调试信息,通常在诊断问题的时候用得着

INFO       普通信息,确认程序按照预期运行

WARNING     警告信息,表示发生意想不到的事情,或者指示接下来可能会出现一些问题,但是程序还是继续运行

ERROR      错误信息,程序运行中出现了一些问题,程序某些功能不能执行

CRITICAL    危险信息,一个严重的错误,导致程序无法继续运行

Formatter格式

%(asctime)s   日志事件发生的时间

%(levelname)s   该日志记录的日志级别

%(message)s   日志记录的文本内容

%(name)s    所使用的日志器名称,默认是’root’

%(pathname)s   调用日志记录函数的文件的全路径

%(filename)s    调用日志记录函数的文件

%(funcName)s   调用日志记录函数的函数名

%(lineno)d    调用日志记录函数的代码所在的行号

模块化组件

Loggers(日志记录器)    提供程序直接使用的接口

Handlers(日志处理器)   将记录的日志发送到指定的位置

Filters(日志过滤器)    用于过滤特定的日志记录

Formatters(日志格式器)   用于控制日志信息的输出格式

对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:784758214,从0基础的python脚本到web开发、爬虫、django、数据挖掘数据分析等,0基础到项目实战的资料都有整理。送给每一位python的小伙伴!每晚分享一些学习的方法和需要注意的小细节,学习路线规划,利用编程赚外快。快点击加入我们的 python学习圈

模块化组件的使用

创建一个logger(日志处理器)对象

设置日志级别(level)

定义handler(日志处理器),决定把日志发到哪里  StreamHandler:输出到控制台    FileHandler:输出到文件

设置输出格式Formatters(日志格式器)

把handler添加到对应的logger中去

控制台打印,级别达到上面设置的WARNING的日志信息

日志文件写入INFO级别以上的日志信息

### Python `logging` 模块功能概述 Python 的 `logging` 模块提供了灵活的日志处理机制,允许开发者记录不同严重程度的消息到不同的目标位置。通过配置合适的处理器、格式化器和过滤器,可以实现复杂而强大的日志管理方案[^1]。 #### 日志级别介绍 该模块定义了几种级别的日志消息,按照重要性和紧急程度递增排列: - **DEBUG**: 调试信息,在开发过程中非常有用; - **INFO**: 描述正常操作的信息; - **WARNING**: 表明某些意外情况发生,但仍不是错误状态; - **ERROR**: 错误事件可能阻止程序执行的部分成功完成; - **CRITICAL**: 特别严重的错误,可能导致应用程序无法继续运行; 这些可以通过简单的调用来触发相应的日志输出[^2]: ```python import logging logging.basicConfig(level=logging.DEBUG) logging.info("这是一个普通的信息") logging.debug("这是一个debug信息") logging.warning("这是警告信息") logging.error("出错了,兄弟") logging.critical("崩溃了") ``` 这段代码展示了如何设置基本配置并发出不同类型的通知给控制台。 #### 配置文件轮转与时间间隔设定 为了更好地管理和保存历史日志数据,`TimedRotatingFileHandler` 类提供了一种按时间和大小自动分割日志文件的方法。例如,每天午夜创建新的日志文件,并保留最近七天的日志副本[^4]: ```python from datetime import datetime import logging.handlers run_log = 'app.log' rf_handler = logging.handlers.TimedRotatingFileHandler( run_log, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0) ) logger = logging.getLogger('my_logger') logger.addHandler(rf_handler) ``` 上述脚本设置了每晚零点切割一次日志文件,并保持最多七个旧版本存档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值