在CentOS上配置Python日志,你可以使用Python的内置logging模块。以下是一个简单的示例,展示了如何配置日志记录器、处理器和格式化程序。
app.py
的Python脚本:import logging
# 创建一个日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 创建一个文件处理器,将日志写入到文件中
file_handler = logging.FileHandler('my_app.log')
file_handler.setLevel(logging.DEBUG)
# 创建一个格式化程序,定义日志的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
# 将处理器添加到日志记录器
logger.addHandler(file_handler)
# 使用日志记录器记录日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
python app.py
这将在当前目录下创建一个名为my_app.log
的日志文件,其中包含你的应用程序生成的日志消息。
你可以根据需要调整日志级别、处理器和格式化程序。例如,你可以添加一个StreamHandler来将日志输出到控制台,或者为不同的日志级别设置不同的格式化程序。
这是一个添加了StreamHandler的示例:
import logging
# 创建一个日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 创建一个文件处理器,将日志写入到文件中
file_handler = logging.FileHandler('my_app.log')
file_handler.setLevel(logging.DEBUG)
# 创建一个控制台处理器,将日志输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 创建一个格式化程序,定义日志的输出格式
file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_formatter = logging.Formatter('%(levelname)s - %(message)s')
# 将格式化程序分配给处理器
file_handler.setFormatter(file_formatter)
console_handler.setFormatter(console_formatter)
# 将处理器添加到日志记录器
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# 使用日志记录器记录日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
现在,日志消息将同时输出到my_app.log
文件和控制台。