python之logger

article/2025/9/17 3:50:38
import logging
import os.path
import time
def test_log():"""指定保存日志的文件路径,日志级别,以及调用文件将日志存入到指定的文件中:paramlogger:"""# 创建一个loggerlogger = logging.getLogger()logger.setLevel(logging.INFO)#此处的判断是为了不重复调用test_log,导致重复打印出日志;第一次调用就会创建一个,第二次就不会再次调用了,也就不会出现重复日志的情况if not logger.handlers:# 创建一个handler,用于写入日志文件fh=logging.FileHandler(log_filename,mode='a',encoding='utf-8')fh.setLevel(logging.INFO)# 创建一个hander用于输出到控制台ch=logging.StreamHandler()ch.setLevel(logging.INFO)# 定义handler的输出格式formeter=logging.Formatter('%(asctime)s-%(module)s-%(lineno)d-%(name)s-%        (levelname)s-%(message)s')fh.setFormatter(formeter)ch.setFormatter(formeter)# 给logger添加handlerlogger.addHandler(fh)logger.addHandler(ch)return logger
import time
from selenium import webdriver
import loggermylogger=logger.test_log()
class TestMyLog(object):def print_log(self):driver=webdriver.Firefox()mylogger.info(message)driver.maximize_window()mylogger.info("最大化浏览器窗口。")driver.implicitly_wait(8)try:#get1方法错误driver.get1("https://www.baidu.com")except Exception as e:mylogger.error('访问百度失败{}'.format(e))mylogger.info("打开百度首页。")time.sleep(1)mylogger.info("暂停一秒。")driver.close()mylogger.info("关闭并退出浏览器。")
TestMyLog().print_log()

 


http://chatgpt.dhexx.cn/article/AwY7pZS8.shtml

相关文章

Python中logger日志模块详解

1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版…

logger:一款管理日志的Python神器

最近要新开一个项目,需要配个 logger 来管理日志,今天分享一下,喜欢记得点赞、关注、收藏。 【注】文末提供交流互助群 import logging ori_logger logging.getLogger(custom_logger) ori_logger.setLevel(logging.INFO) ori_logger.addHa…

Tensorboard + Logger 日志记录

在Pytorch 训练模型的时候,需要日志帮助开发者记录些重要信息和参数,以方便开发者更好的调节模型及参数,常见的日志非 Tensorboard不可,但是Pytorch 对 Tensorboard 的支持不是十分完美,在记录模型重要参数时 Tensorbo…

深入理解 rootLogger、logLogger、qtLogger

作者: 一去、二三里个人微信号: iwaleon微信公众号: 高效程序员 在使用 Log4Qt 时,你会发现有一系列的 logger - rootLogger()、logLogger()、qtLogger(),简直傻傻分不清楚! 为什么会有这么多 logger? 各 logger 之间有什么关系? 它们均适用于哪种场景? 参考文档对这部…

logger 报错

logger 报错:(log4j 起不来,log message打不出来) No appenders could be found for logger (com.vip.qa.android.base.DriverFactory). log4j:WARN Please initialize the log4j system properly. 原因: log4j.prop…

java的logger_java.util.logging.Logger 使用详解

概述: 第1部分 创建Logger对象 要使用J2SE的日志功能,首先要取得java.util.logging.Logger实例,这可以通过Logger类的两个静态getLogger()方法来取得: staticLogger getLogger(String name) 查找或创建一个logger。staticLogger getLogger(String name, String resourceBun…

Logger日志使用教程

Java util Logger的使用步骤 Java util Logger是java原生的日志生成工具,不需要另外引用类库,使用方便,学习简单,能够在小型应用中灵活使用。下面从实际应用角度,对Logger的使用步骤作出总结,以实现快速掌握…

Logger 日志管理

转载请注明出处: http://blog.csdn.net/like_program/article/details/52986553 1.Logger 是什么 在我们日常的开发中,肯定是少不了要和 Log 打交道,回想一下我们是怎么使用 Log 的:先定义一个静态常量 TAG,TAG 的值通…

【转】最详细的Log4J使用教程一、入门实例二、Log4J基本使用方法三、Spring中使用Log4J四、实战经验总结

原文地址:http://www.codeceo.com/article/log4j-usage.html 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j可以免费下载到Log4j最新版本的软…

Logger打印日志

1. 一个最基本的例子 使用Logging框架写Log基本上就三个步骤 引入loggerg类和logger工厂类声明logger记录日志 下面看一个例子 // 1. 引入slf4j接口的Logger和LoggerFactory import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserService { // 2. 声明…

rename 批量修改文件名

1.批量修改文件后缀: rename s/// *.nii rename s/\.nii/\.txt/ * #把.nii后缀改为.txt rename s/\.txt// * #把.txt后缀去掉 rename s/$/\.nii/ * #加上后缀.nii rename s//\.nii/ * #这样会把.nii放到文件名前面,导致文件被隐藏。 rename s/^/dm/ * #…

Linux基本功系列之rename命令实战

文章目录 一. rename 命令介绍二. 语法格式及常用选项三. 参考案例3.1 将当前目录下所有.cfg的文件,替换为.txt结尾3.2 将所有出现mufeng的部分都替换为mufeng13.3 将mufeng0开头都变成mufeng00开头3.4 rename支持正则表示式 总结 前言🚀🚀&a…

VS项目rename

Visual Studio c项目更改相关文件名字 项目里面文件夹 Rename 右键 .sln文件, 打开方式–> txt方式打开编辑找到里面project的文件夹名字, Rename. 然后到资源管理器里, 找到对应的folder, Rename. .vcxproj相关文件 Rename 相关文件Rename .sln文件, txt打开–>Ren…

rename 命令 – 批量修改文件名称

rename 命令的功能是用于批量修改文件名称。与 mv 命令一次只能修改一个文件名不同,rename命令能够基于正则表达式对文件名进行批量修改,但要求是把匹配规则准确的描述给系统。 rename 命令的参数有三项:其一是当前文件名中要被修改的字符&am…

linux之rename命令

用字符串替换的方式批量改变文件名 rename 命令存在两个版本用法上有所区别 C语言版本, 支持通配符 [常用通配符说明] ? 表示一个任意字符 * 表示一个或一串任意字符 [charset] 可替代charset集中的任意单个字符Perl版本, 支持正则表达式 [常用正则表达式符号说明] ^…

pandas:案例详解 rename函数 修改列名和行名

pandas:案例详解rename函数 修改列名和索引 rename函数简介0 构建学习数据1 修改索引两种方式2 修改列名两种方式3 是否替换原列表3 pandas 字母转换大小写3 使用axis参数常见问题问题:参数位置错误修改办法: rename函数简介 df.rename(inde…

关于Unity 2020找不到PBR graph的问题,shader graph 10 版本

2020.4以后采用了船新的Shader Graph,变动挺大的。 建议还是换版本或者去官网学习。 PBR是没有了,但是有两个空的Shader 一个是Blank Shader,即空shader,自己进去里面创建PBR(前排提醒,不是简单拖一个PBR nodes&#x…

Substance与PBR工作流总结

关于PBR PBR即基于物理的渲染,是一套尝试基于真实世界光照物理模型的渲染技术合集,使用了一种更符合物理学规律的方式来模拟光线,达到更真实的渲染效果,而且可以直接通过物理参数来直观地达到想要的结果,不用通过拙劣的…

BPR算法

目录 什么是BPR算法 BPR算法简介 显示反馈与隐式反馈 矩阵分解的不足 BPR算法 符号定义 BPR算法解决方式 BPR算法两个基本假设 BPR算法推导 贝叶斯定理 BPR推导 BPR算法流程 BPR算法代码与结果 数据 BPR算法代码 BPR结果展示 什么是BPR算法 BPR算法简介 BPR&…

基于物理的渲染技术(PBR)系列一

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术…