当前位置: 代码网 > it编程>前端脚本>Python > python将日志写入文件超详细步骤

python将日志写入文件超详细步骤

2024年08月05日 Python 我要评论
1、需求我们在训练模型的时候,有时候需要将训练日志输出到一个文件中,方便随时查看训练日志。训练模型时候,训练日志在控制台展示,关闭控制台后日志会消失。这时,我们需要将控制台中的训练日志信息输出到一个指

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:严重错误,表明程序已不能继续运行。

总结 

到此这篇关于python将日志写入文件的文章就介绍到这了,更多相关python日志写入文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com