IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> python 日志 -> 正文阅读

[系统运维]python 日志

模块

python的日志模块是logging, 属于标准库,无需自动安装。

日志配置

使用日志模块,一般会先创建一个日志配置文件。配置文件有两种写法, 配置文件包括Loggers(日志记录器)、Handlers(日志处理器)、Filters (日志过滤器)和 Formatters(日志格式化器)。

1.conf文件配置

logging.conf

[loggers]	# 选择日志记录器
keys = root

[handles]	# 选择日志处理器
keys = consoleHandler

[formatters]	# 选择日志格式化器
keys=simpleFormatter

[logger_root]	# 日志记录器, 选择日志输出在哪
level=DEBUG		# 日志等级
handlers=consoleHandler

[handler_consoleHandler]	# 日志处理器, 通过调用不同的class来处理日志
class=StreamHandler		# 输出到标准输出 
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[formatter_simpleFormatter]		# 日志格式化器, 格式化日志输出
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

日志等级

DEBUG:排查故障时使用的低级别系统信息,通常开发时使用
INFO:一般的系统信息,并不算问题
WARNING:描述系统发生小问题的信息,但通常不影响功能
ERROR:描述系统发生大问题的信息,可能会导致功能不正常
CRITICAL:描述系统发生严重问题的信息,应用程序有崩溃的风险
在配置文件中配置好日志等级后,智慧输出等级高于配置等级的日志。

配置文件使用

在要记录日志的文件

config.fileConfig(配置文件路径)
logger = logging.getLogger(日志名)

2. python字典配置

将配置写在字典中是一种更常见的配置方式。只需要早要记录日志的py文件中写入

logging_config = {
    'version': 1,
    'disable_existing_loggers': False,		# 不使其他日志失效
    'formatters': {		# 日志格式化器
        'default': {
            'datefmt': '%Y-%m-%d %H:%M:%S',
            'format': '%(asctime)s %(levelname)s %(message)s',
        },
    },
    'handlers': {		# 日志处理器
        'console': {		# 标准输出输出
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'default'
        },
        'file': {		# 输出到文件
            'level': 'DEBUG',
            'class': 'logging.handlers.TimedRotatingFileHandler',  # 所使用的处理类,这个类可以固定时间开始新的日志,保存原来的日志
            'formatter': 'default',
            'when': "d",  # 时间单位可以是h, d, m , y
            'interval': 1,		# 单位数量,多长时间开始新的记录
            'backupCount': 30,		# 能保存的最大日志文件数量
            'filename': 文件名
        }
    },
    'loggers': {		# 日志记录器
        'StreamLogger': {
            'handlers': ['console'],	# 所使用的处理器
            'level': 'DEBUG',
        },
        'FileLogger': {
            # 既有 console Handler,还有 file Handler
            'handlers': ['console', 'file'],
            'level': 'DEBUG',
        },
    }
}
# 加载配置
logging.config.dictConfig(logging_config)
# 实例化logger 加载loggers的配置
logger = logging.getLogger("FileLogger")

日志使用

# 通过使用不同的方法记录不同等级的日志
logger.error(日志信息)
logger.info(日志信息)
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-21 17:38:54  更:2021-12-21 17:38:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:49:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码