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知识库]python工具类--打印日志

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/7/16 21:16
# @Author  : herry
# @Site    : 
# @File    : logger.py
# @Software: PyCharm




import logging
import time
import os


# 日志


# log_path是存放日志的路径
cur_path = os.path.dirname(os.path.realpath(__file__))
log_path = os.path.join(os.path.dirname(cur_path), 'logs')


# 如果不存在这个logs文件夹,就自动创建一个
if not os.path.exists(log_path):
    os.mkdir(log_path)




class Log():
    def __init__(self, logger=None):
        '''
            指定保存日志的文件路径,日志级别,以及调用文件
            将日志存入到指定的文件中
        '''


        # 创建一个logger
        self.logger = logging.getLogger(logger)
        self.logger.handlers.clear()  ##先清理已有Handler,避免重复添加,导致日志重复输出
        self.logger.setLevel(logging.INFO)
        # 创建一个handler,用于写入日志文件
        self.log_time = time.strftime("%Y_%m_%d_")
        self.log_path = cur_path
        self.log_name = os.path.join(log_path, '%s.log' % time.strftime('%Y_%m_%d'))


        fh = logging.FileHandler(self.log_name, 'a', encoding='utf-8')  # 追加模式
        fh.setLevel(logging.INFO)


        # 再创建一个handler,用于输出到控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)


        # 定义handler的输出格式
        formatter = logging.Formatter(
            '[%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s]%(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)


        # 给logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)
        # 关闭打开的文件
        fh.close()
        ch.close()






    def getlog(self):
        return self.logger




if __name__ == "__main__":
    log = Log().getlog()
    log.info("---测试开始----")
    log.info("操作步骤1,2,3")
    log.warning("----测试结束----")

-------------------------------------最后---------------------------------

?更多软件测试相关内容请关注“软件测试道与术”公众号或扫描下方二维码

1d9b3bd72296f18d059cbd924c269ff7.png

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-19 18:25:04  更:2021-12-19 18:25:16 
 
开发: 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 4:16:15-

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