当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Logging和Print的区别用法及代码示例


Python中,打印和记录可用于显示信息,但它们有不同的用途。在本文中,我们将通过一些示例以及 Python 中日志记录和打印之间的差异来了解什么是 python 日志记录。

使用 Python 进行日志记录

Python 中的日志记录是一种向用户显示有用消息和警告的技术。 logging module 提供了一种灵活的方式来在各种输出目的地(例如控制台、文件和网络)记录不同的消息。日志记录是生产代码的最佳实践。日志记录模块提供日志级别和过滤等函数。

以下是不同级别的日志记录

  1. Debug:它用于在调试程序时提供详细信息。
  2. Info:当我们想要显示一些一般信息时使用它。
  3. Warning:它用于显示一些可能影响将来程序的警告。
  4. Error:它用于显示程序在执行过程中出现的一些错误信息。
  5. Critical:它用于在程序发生严重问题而停止执行时显示消息。

示例1:在控制台上打印日志消息

在此示例中,我们使用日志记录将消息记录到控制台。我们创建了一个记录器对象,然后将消息作为警告传递。 basicConfig()方法用于配置日志记录级别,设置为Info。这将简单地在控制台上打印带有配置信息的日志消息。

Python3


import logging 
  
# creating the logger object 
logger = logging.getLogger() 
  
# setting logger to a warning message 
logger.warning('This is a Warning message!') 
  
# configuring the logger to info log levek 
logging.basicConfig(level=logging.INFO) 
  
# setting the logger to a informative message 
logging.info("This is an Informative message.")

输出:

This is a Warning message!
INFO:root:This is an Informative message.

示例 2:打印文件中的日志消息

在此示例中,我们将了解如何根据需要修改消息。在这里,我们添加了时间以及日志级别和消息,并将其保存在名为“message.log”的文件中。

Python3


import logging 
  
# configuring the logger to display log message 
# along with log level and time  
logging.basicConfig(filename="message.log", 
                    format='%(asctime)s: %(levelname)s: %(message)s', 
                    level=logging.INFO) 
  
# setting logger to critical message 
logging.critical("This is a Critical Message!!!")

输出:

Log message saved in the message.log file

日志消息保存在 message.log 文件中

用Python打印

print statement 是 Python 中的内置函数,用于将指定的值打印到控制台。它主要用于调试,不建议在生产代码中记录信息。

例子:

print 语句将简单地将值打印到控制台。

Python3


name = "Kumar"
age = 21
print("My name is", name, "and I'm", age, "years old.") 

输出:

My name is Kumar and I'm 21 years old.

Python 中日志记录和打印的区别

Logging in Python

Print in Python

记录Python程序执行过程中发生的事件和错误。 将信息显示到控制台以进行调试。
主要用于生产环境。 主要用于调试。
一些函数包括:日志级别、过滤、格式化等。 没有什么好的函数。
它提供了不同的日志级别,例如调试、信息、错误、警告和严重。 它没有任何级别,它只是打印传递给它的任何内容。

例子:

导入日志记录;
日志记录.basicConfig(级别=日志记录.INFO);
日志记录.info(“Hello”)

输出:

可以配置为记录到不同的输出目的地(例如控制台、文件、网络)

例子:

打印(“Hello”)

输出:

仅在控制台上打印



相关用法


注:本文由纯净天空筛选整理自subramanyasmgm大神的英文原创作品 Difference between Logging and Print in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。