python将日志写入文件(超详细)
创始人
2024-11-29 12:03:10
0

python将日志写入文件(超详细)

1、需求

  • 我们在训练模型的时候,有时候需要将训练日志输出到一个文件中,方便随时查看训练日志。

训练模型时候,训练日志在控制台展示,关闭控制台后日志会消失。这时,我们需要将控制台中的训练日志信息输出到一个指定文件中,方便我们随时查看。

将控制台中的日志信息输入到当前目录下的application.log文件中

在这里插入图片描述
在这里插入图片描述

2、方法:python logging模块

logging 是Python中非常强大且灵活的库,用于记录和跟踪应用程序运行时发生的事件。  在Python中,使用 logging 模块可以写入日志信息到指定文件。 

2.1 basicConfig() 快速配置

  • 导入logging模块
  • 设置全局的日志格式和级别
  • 获取logger
  • 创建文件处理器,指定日志文件和日志级别(局部)
  • 添加文件处理器到logger
import logging import warnings  # 忽略所有 UserWarning 警告 warnings.filterwarnings("ignore", category=UserWarning)  # 1、设置全局的日志格式和级别 logging.basicConfig(format='%(asctime)s - %(levelname)s - %(name)s - %(message)s',                     datefmt='%m/%d/%Y %H:%M:%S',                     level=logging.INFO)  # 2、获取logger (给日志器起个名字 "__name__") logger = logging.getLogger(__name__)# __name__内置变量模块名称,轻松地识别出哪个模块产生了哪些日志消息(主程序模块)  # 3、创建文件处理器,指定日志文件和日志级别(局部)---文件输出FileHandle(输出到指定文件) file_handler = logging.FileHandler('application.log') #指定日志文件名application.log,默认在当前目录下创建 file_handler.setLevel(logging.INFO) # 设置日志级别(只输出对应级别INFO的日志信息) # 设置日志格式 file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(message)s', '%m/%d/%Y %H:%M:%S'))   # 4、添加文件处理器到logger logger.addHandler(file_handler)  # 训练模型的代码 epoch = 7   # 记录日志信息 logger.info("Get better performance at epoch {}".format(epoch))  # 在主类中编写日志代码 # 判断当前程序是否为主程序,确保 main() 函数只在直接运行该Python文件时执行,如果文件被其他模块导入,则不执行 main() # 主程序内置变量 __name__ if __name__ == "__main__":     main() 

2.2 查看application.log日志文件

在这里插入图片描述

2.3、logging知识

  • Loggers:应用程序中使用的接口,用于发送日志消息。它们来自logging.getLogger(name),name是用于标识logger源的字符串
  • Handlers:用于配置日志处理的目的地,如文件、控制台等。常用的有StreamHandler(控制台输出)和FileHandle(文件输出)
  • Formatters:定义最终输出中日志记录的布局
  • Filters:提供更细粒度的工具来进一步控制哪些日志记录将被输出

2.4、日志级别

debug,info,warning,error,critical 
  • DEBUG:详细信息,通常只有在诊断问题时才感兴趣。
  • INFO:证明事情按预期工作(最常用)
  • WARNING:某些还不是错误的事情的指示,但是应该注意的。
  • ERROR:由于某些更严重的问题,软件已不能执行一些功能了
  • CRITICAL:严重错误,表明程序已不能继续运行。

相关内容

热门资讯

黑科技辅助!we-poker辅... 黑科技辅助!we-poker辅助软件演示,(wepoke好友房)先前真的是有挂,wpk教程(确实有挂...
发现一款!wepoker可以开... 【福星临门,好运相随】;发现一款!wepoker可以开透视,werplan外卦神器,揭秘教程(有挂攻...
盘点十款!红龙扑克辅助器(红龙... 盘点十款!红龙扑克辅助器(红龙扑克辅助器)往昔真的有挂(2026已更新)(哔哩哔哩),红龙扑克辅助器...
重磅来袭(WPK新版)wpk外... 重磅来袭(WPK新版)wpk外挂是真的还是假的(WpK)原生存在有挂(2020已更新)(哔哩哔哩)是...
黑科技辅助!wepoke软件透... 黑科技辅助!wepoke软件透明是真的,(Wepoke实测)往昔是真的有挂,攻略教程(有挂秘笈)-哔...
一起来探讨!德普辅助器可以用,... 一起来探讨!德普辅助器可以用,wepokerplus到底是挂了,透明教程(真实有挂)-哔哩哔哩相信很...
黑科技辅助(Wepoke存在)... 您好,Wepoke存在这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
重要通知!wepoke 软件(... 重要通知!wepoke 软件(WePoKe挂真的)从前有挂技术(2024已更新)(哔哩哔哩);AI辅...
黑科技辅助!扑克王辅助工具,(... 黑科技辅助!扑克王辅助工具,(扑克世界)都是是有挂,揭秘攻略(有挂存在)-哔哩哔哩;黑科技辅助!扑克...
实测发现!约局吧开挂神器是真的... 实测发现!约局吧开挂神器是真的,hhpoker有作弊辅助,力荐教程(有挂功能)-哔哩哔哩;1.约局吧...