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"}
以上是常见的几种日志记录格式,在实际使用中可以根据需求选择合适的格式,或者自定义日志记录格式。
