当前位置: 首页 > news >正文

Django的logging-日志模块的简单使用方法

扩展阅读:
Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解

现在有下面的Python代码:

# -*- coding: utf-8 -*-def log_out_test(content_out):print(content_out)content1 = "i love you01"
log_out_test(content1)

现在要把函数log_out_test()中的print语句中的内容以日志文件的形式输出:

可以像下面这样实现:

# -*- coding: utf-8 -*-import loggingdef log_out_test(content_out):logger01.debug(content_out)# 创建新的日志记录器
logger01 = logging.getLogger("my_logger")# 配置日志记录器的日志文件路径和日志格式
file_handler_01 = logging.FileHandler('E:/log/my_log_file_01.log')
file_formatter_01 = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler_01.setFormatter(file_formatter_01)
logger01.addHandler(file_handler_01)# 设置日志级别
logger01.setLevel(logging.DEBUG)# 使用新的日志记录器进行调试
content = "i love you"
log_out_test(content)

对于上面的代码,如果认真读过我的另一篇博文:Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解 那么理解起来应该是没有问题。

不过这里还是补充说明一点:
问:为什么在函数log_out_test()的外部的实例化对象logger01并没有通过参数传递到函数,在函数内部也可以调用?

答:在 Python 中,logging 模块使用了全局状态(global state),因此,在代码中,logger01 实例化后成为一个全局变量。全局变量在整个模块中都是可见的,因此你可以在模块的任何地方访问它。

运行上面的代码后:

在路径E:\log\下生成了日志文件:my_log_file_01.log
内容如下:
在这里插入图片描述
在这里插入图片描述
我们修改下变量content的内容为"i love you02",再次运行上面的代码,发现原来的日志文件并没有被覆盖,而是被追加到了后面。如下图所示:
在这里插入图片描述
扩展阅读:
Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解

http://www.lryc.cn/news/258383.html

相关文章:

  • ​argparse --- 命令行选项、参数和子命令解析器​
  • 洛谷 P8802 [蓝桥杯 2022 国 B] 出差
  • fastadmin配置教程
  • golang游戏服务器 - tgf系列课程01
  • react dom的diff理解及性能优化
  • 【acwing】92. 递归实现指数型枚举
  • 【面试】Java最新面试题资深开发-分布式系统中的CAP理论
  • Windows下使用CMD修改本地IP
  • 20231211-DISM++安装win10-22h2-oct
  • 前端知识笔记(五)———前端密钥怎么存储,才最安全?
  • 【智能家居】智能家居项目
  • 在AWS Lambda上部署标准FFmpeg工具——Docker方案
  • C#网络应用程序(Web页面浏览器、局域网聊天程序)
  • MacOS 14挂载NTFS 硬盘的最佳方式(免费)
  • SpringAOP专栏二《原理篇》
  • 冒泡排序(函数)
  • Vue3中的defineModel
  • 动态内存管理(C语言)
  • 区块链实验室(32) - 下载arm64的Prysm
  • flutter学习-day3-dart基础
  • gitblit自建git仓库
  • 二百一十一、Flume——Flume实时采集Linux中的Hive日志写入到HDFS中(亲测、附截图)
  • python 实现 AIGC 大模型中的概率论:生日问题的基本推导
  • YOLOv8算法改进【NO.87】引入上下文引导网络(CGNet)的Light-weight Context Guided改进C2_f
  • GPT-4V 在机器人领域的应用
  • Java基础语法之访问修饰限定符
  • 算法通关村第十八关 | 青铜 | 回溯
  • 蓝牙在物联网中的应用,相比WIFI和NFC的优势?
  • Altair推出 Altair RapidMiner 2023 平台,提供生成式 AI 功能
  • 包管理工具npm与yarn