文档章节

python3中logging模块学习(持续更新)

W_Lu
 W_Lu
发布于 03/26 22:34
字数 664
阅读 33
收藏 0

logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 error() 和 critical()。

loggin库采用了模块化的设计,提供了许多组件:记录器(logger),处理器(handler),过滤器(filter),格式化器(formatter)

 

Logger 暴露了应用程序代码能直接使用的接口。

Handler将(记录器产生的)日志记录发送至合适的目的地。

Filter提供了更好的粒度控制,它可以决定输出哪些日志记录。

Formatter 指明了最终输出中日志记录的布局

 

format自定义格式,下表中均支持

%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s 用户输出的消息

 

 

实战案例一

删除超过30日的日志文件

#/usr/bin/env python3

import os
import logging
import time

# 日志准备
logdir = '/var/log'
logfile = 'cron_tomcat_log_mg.log'
# 定义logging的基础配置
logging.basicConfig(
    filename=(os.path.join(logdir, logfile)), #定义日志文件,我通过join连同路径一同配置
    level=logging.DEBUG, # 定义模式
    format="%(asctime)s:%(name)s:%(levelname)s:%(message)s",  # 配置日志格式
    filemode='a', # 配置文件读写方式(追加)
)

def delete_overdue_logfile():
    filelist = []
    workdir = '/backup/tomcat'
    filelist = [file for file in os.listdir(workdir)
                if os.path.isfile(os.path.join(workdir, file)) and file.endswith(".log")]
    for file in filelist:
        # 获取文件的创建时间,比对当前时间,删除30日以上的日志文件
        timestamp = os.path.getmtime(file)
        current_time = time.time()
        delta = current_time - timestamp
        if delta > 259200:
            logging.info(os.path.join(workdir, file))
            os.remove(os.path.join(workdir, file))

if __name__ == '__main__':
    delete_overdue_logfile()

 

 

 

Reference:

https://www.cnblogs.com/lixiaoting/p/11131289.html

https://www.digitalocean.com/community/tutorials/how-to-use-logging-in-python-3

https://docs.python.org/3/library/logging.html#logger-objects

https://realpython.com/python-logging/

https://docs.python-guide.org/writing/logging/

https://docs.python.org/3/howto/logging-cookbook.html

https://www.loggly.com/ultimate-guide/python-logging-basics/

https://www.cnblogs.com/TheEast/p/9220473.html

https://cuiqingcai.com/6080.html

© 著作权归作者所有

W_Lu
粉丝 9
博文 97
码字总数 32110
作品 0
佛山
系统管理员
私信 提问
加载中

评论(0)

Python第三章模块-张明阳-专题视频课程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a2011480169/article/details/83580545 Python第三章模块—142人已学习 课程介绍 介绍Python在项目当中常用的...

安静的技术控
2018/04/20
0
0
Python基础(四)常用模块

模块(Module):在python中,一个.py文件就称之为一个模块。模块共分为三种:python标准库、第三方模块和应用程序自定义模块 模块导入: 模块导入的本质是通过找到文件,然后执行该脚本(全部...

wfs1994
03/31
0
0
python模块介绍- logging 日志工具

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

长平狐
2013/12/25
487
0
通过创建一个简单的骰子游戏来探究 Python

在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的、基于文本的骰子游戏。这次,我将展示如何使用 Python 模块 Pygame 来创建一个图形化游戏。它将需要几篇文章才能来...

老孟的Linux私房菜
2019/05/31
60
0
Python 3.7.7 发布,bug 修复版本

Python 3.7.7 发布了,这是一个 bug 修复版本。2020 年中之前将持续更新 3.7 系列的 bug 修复版本,并直到 2023 年中之前持续提供安全修复版本。下载地址见:https://www.python.org/downlo...

oschina
03/11
1.5K
5

没有更多内容

加载失败,请刷新页面

加载更多

ES6 - 基础学习(3): const关键字的本质

const 是如何做到变量在声明初始化之后不允许改变的? 其实 const 保证的不是变量的值不允许改变,而是保证该变量指向的内存地址所保存的数据不允许改变。 由于简单数据类型和复合数据类型保...

osc_j9qcf98f
11分钟前
16
0
JavaScript连载3-变量内存分析、常量、数据类型

一、变量的内粗分析 1.变量的默认值 (1)如果变量初始化时没有赋值,那么里面存储的时undefined (2)示例 var lk; console.log(lk); 2.同时声明多个变量 两种方式 var name,age,sex; name...

osc_cudh2wh2
13分钟前
20
0
计算机逻辑运算总结

在计算机二进制中,最高位表示符号位,若为0表示正数,若为1表示负数。同时我们需要清楚知道原码、反码、补码的概念,这里请自行了解。 取非/反(~):在二进制补码中,要获取数字的负数,需...

osc_rki151ee
14分钟前
13
0
Unchecked runtime.lastError: The message port closed before a response was received.

谷歌浏览器 Unchecked runtime.lastError: The message port closed before a response was received. 油猴插件引起的 把一些插件禁用就行了 文章来源:刘俊涛的博客 欢迎关注公众号、留言、...

osc_kdarxvx0
15分钟前
7
0
360浏览器下载pdf总是中断

如图: 总会卡着不走,网速正常。 你好,您可以尝试以下办法,涉及注册表修改,请提前到处备份 1 右键点击桌面上快捷方式,选择用管理员权限打开试试。 2 打开注册表regedit.exe,把 [HKEY_...

osc_bzc91lgy
16分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部