python自动化测试写日志self.logname = os.path.join(log_path, '{0}.log'.format(time.strftime('%Y-%m-%d')))

2023-11-03

#coding=utf-8

import logging
import time
import os
from config import globaVar

log_path = globaVar.log_path
class Log:
def init(self):
self.logname = os.path.join(log_path, ‘{0}.log’.format(time.strftime(’%Y-%m-%d’)))

def __printconsole(self, level, message):
    # 创建一个logger
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)
    # 创建一个handler,用于写入日志文件
    fh = logging.FileHandler(self.logname,'a',encoding='utf-8')
    fh.setLevel(logging.DEBUG)
    # 再创建一个handler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)
    # 定义handler的输出格式
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)-6s - %(message)-40s')
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)
    # 给logger添加handler
    logger.addHandler(fh)
    logger.addHandler(ch)
    # 记录一条日志
    if level =
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python自动化测试写日志self.logname = os.path.join(log_path, '{0}.log'.format(time.strftime('%Y-%m-%d'))) 的相关文章

随机推荐

  • 使用vue+electron创建桌面软件(一)

    使用vue项目 添加electron 创建桌面软件 软件的本地运行 打包等功能 环境配置 node环境 开发环境 linux vue vli 若没有vue环境 则终端安装 npm install g vue cli 查看vue cli版本
  • conversion from ‘QList<QByteArray>‘ to non-scalar type ‘QStringList‘ requested

    conversion from QList to non scalar type QStringList requested 如此写 报错 QStringList tempData textStream readLine split 改为
  • netcat 的使用教程

    软件准备 windows访问 netcat 1 11 for Win32 Win64 下载 linux apt install netcat 命令格式 nc 参数 主机名称 端口 参数 nc h c
  • SVN 提交操作

    在上一章中 我们检出了版本库runoob01 对应的目录放在 home user01 runoob01中 下面我们针对这个库进行版本控制 我们在库本版中需要增加一个readme的说明文件 root runoob svn runoob01 t
  • Quartz框架支持分布式任务处理

    一 问题分析 对于单机的任务调度 使用Quartz十分方便 但是在分布式情况下 对于集群中每台机器都会执行任务 从而造成了重复执行任务的问题 二 解决思路 Quart不仅支持单机任务调度 同时也支持集群中的任务调度 原理如下 在集群中 各个
  • 虚拟化(KVM)介绍以及网卡配置

    虚拟化 KVM 虚拟化介绍 VMware Workstation就是虚拟化 虚拟化简单讲 就是把一台物理计算机虚拟成多台逻辑计算机 每个逻辑计算机里面可以运行不同的操作系统 相互不受影响 这样就可以充分利用硬件资源 关键词Hyperviso
  • 需要打开多少监视器

    import java util Scanner public class B 1 public static int directions 1 0 1 0 0 1 0 1 四行两列 public static void main Stri
  • 汽车行业数据备份有必要吗?

    随着电气化 智能化 网联化和数字化的突破性发展 汽车产业供应链进一步重新构筑 更多科技型企业 汽车供应商以不同形式加入到整车领域 促使中国汽车产业发展进入崭新阶段 在疫情挑战下逐步实现恢复和增长 在数字化时代的大趋势下 数据安全成为全球企业
  • 什么是过拟合和欠拟合,怎么解决?

    过拟合和欠拟合的解释 欠拟合是指模型在训练集 验证集和测试集上均表现不佳的情况 过拟合是指模型在训练集上表现很好 到了验证和测试阶段就很差 即模型的泛化能力很差 过拟合和欠拟合产生的原因 欠拟合 underfitting 模型复杂度过低 特
  • 青藤放飞“猎鹰”,主动防御又多一张牌

    点击上方关注我们 研习ATT CK 模拟安全攻防大战 这一切只要在牌桌上就能完成 在10月30日举行的青藤新品 全国巡展 北京站 现场 就进行了一场别开生面的青藤 首届ATT CK卡牌争霸赛 将专业的安全知识融入卡牌游戏 这个创意棒棒的 让
  • enumerate的用法

    for i data in enumerate trainloader 0 data里面包含图像数据 inputs tensor类型的 和标签 labels tensor类型 inputs labels data enumerate 用于可
  • L2TP and PPTP共存一键安装

    一 L2TP IPSec vpn一键安装脚本 运行下面的命令 wget no check certificate https raw githubusercontent com teddysun across master l2tp sh
  • 批量执行python程序文件

    如果想执行n个文件 不必一个一个点run 可以把要执行的文件放在同一个文件夹里 然后在一个文件里输入以下脚本即可 import os lst os listdir os getcwd 获取当前目录下所有的文件名 for c in lst i
  • BT656跟BT1120和BT709有什么区别

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 email 174176320 qq com 601是SDTV的数据结构 656是SDTV的interface709是HDTV的数据结构
  • 【OpenGL】笔记五、纹理

    1 流程 1 1 单个纹理 纹理是一个2D图片 甚至也有1D和3D的纹理 它可以用来添加物体的细节 为了能够使用纹理图片 我们需要一个叫做stb image h的头文件库来加载不同格式的图片作为纹理 全部文件 得到该头文件后 加入项目 并且
  • java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令

    文章目录 libreoffice下载地址 安装 第一种 java调用 第二种 推荐 java调用Linux命令转pdf java远程连接Linux执行命令 少数情况 linux安装windows中文字体解决pdf乱码 pdf加水印 libr
  • Unity基础笔记(2)—— Unity2D及输入系统

    Unity2D及输入系统 Unity2D 部分 一 Unity 2D 介绍 1 游戏中 2D 3D 以及 UI 的概念 先笼统地将整个游戏分为两部分 UI 和游戏内容 UI 即 User Interface 人机交互 操作界面 游戏中一般指
  • 目标检测学习--FPN(特征金字塔网络)-解决多尺度检测问题

    论文地址 Feature Pyramid Networks for Object Detection 深度神经网络学习到的特征中 浅层特征学到的是物理信息 比如物体的角点 边缘的细节信息 而深层特征学到的是语义信息 更加高维与抽象 目标检测
  • vim编辑器显示行号 :set num

    set num
  • python自动化测试写日志self.logname = os.path.join(log_path, '{0}.log'.format(time.strftime('%Y-%m-%d')))

    coding utf 8 import logging import time import os from config import globaVar log path globaVar log path class Log def i