欢迎访问宙启技术站
智能推送

Python中常见的日志记录格式

发布时间:2023-12-17 08:02:09

在Python中,常见的日志记录格式有以下几种:

1. 简单日志格式(Simple Log Format):

这是最基础的日志记录格式,在日志中只包含了时间和消息内容。

例子:

   import logging
   
   logging.basicConfig(format='%(asctime)s - %(message)s', level=logging.INFO)
   logging.info('This is a simple log message')
   

输出:

   2022-01-01 12:00:00,000 - This is a simple log message
   

2. 标准日志格式(Standard Log Format):

这是一种较常见的日志记录格式,除了时间和消息内容,还包括了日志级别和日志所在模块的名称。

例子:

   import logging
   
   logging.basicConfig(format='%(asctime)s - %(levelname)s - %(module)s - %(message)s', level=logging.INFO)
   logging.info('This is a standard log message')
   

输出:

   2022-01-01 12:00:00,000 - INFO - main - This is a standard log message
   

3. 详细日志格式(Verbose Log Format):

在标准日志格式的基础上,还可以加入额外的信息,如日志所在函数的名称和行号。

例子:

   import logging
   
   logging.basicConfig(format='%(asctime)s - %(levelname)s - %(module)s - %(funcName)s - %(message)s', level=logging.INFO)
   logging.info('This is a verbose log message')
   

输出:

   2022-01-01 12:00:00,000 - INFO - main - <module> - This is a verbose log message
   

4. JSON日志格式(JSON Log Format):

在日志中使用JSON格式来记录,可以方便地进行日志分析和处理。

例子:

   import logging
   import json
   
   class JSONLogFormatter(logging.Formatter):
       def format(self, record):
           log_data = {
               'timestamp': record.created,
               'level': record.levelname,
               'module': record.module,
               'funcname': record.funcName,
               'message': record.getMessage(),
           }
           return json.dumps(log_data)
   
   logger = logging.getLogger()
   stream_handler = logging.StreamHandler()
   json_formatter = JSONLogFormatter()
   stream_handler.setFormatter(json_formatter)
   logger.addHandler(stream_handler)
   logger.setLevel(logging.INFO)
   
   logger.info('This is a JSON log message')
   

输出:

   {"timestamp": 1641000000, "level": "INFO", "module": "__main__", "funcname": "<module>", "message": "This is a JSON log message"}
   

以上是常见的几种日志记录格式,在实际使用中可以根据需求选择合适的格式,或者自定义日志记录格式。