在Ubuntu上配置Python日志,可以使用Python的內置logging
模塊。以下是一個簡單的示例,展示了如何配置日志記錄器、處理器和格式化程序。
logging.conf
的配置文件,用于存儲日志配置信息。在這個文件中,你可以定義日志級別、處理器類型(例如控制臺、文件等)以及格式化程序。以下是一個簡單的配置文件示例:[loggers]
keys=root
[handlers]
keys=consoleHandler,fileHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler,fileHandler
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=('app.log', 'a')
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=%Y-%m-%d %H:%M:%S
logging.config.fileConfig()
函數加載配置文件。以下是一個簡單的Python腳本示例,演示了如何使用上述配置文件記錄日志:import logging
import logging.config
# 加載配置文件
logging.config.fileConfig('logging.conf')
# 獲取日志記錄器
logger = logging.getLogger(__name__)
# 記錄不同級別的日志
logger.debug('這是一條 DEBUG 級別的日志')
logger.info('這是一條 INFO 級別的日志')
logger.warning('這是一條 WARNING 級別的日志')
logger.error('這是一條 ERROR 級別的日志')
logger.critical('這是一條 CRITICAL 級別的日志')
app.log
文件中看到日志輸出。注意:如果你想在不同的環境中使用不同的配置,可以在logging.conf
文件中使用環境變量。例如,你可以根據$ENVIRONMENT
變量的值來設置日志級別:
[logger_root]
level=%(LOG_LEVEL)s
handlers=consoleHandler,fileHandler
然后,在運行Python腳本之前,設置環境變量:
export ENVIRONMENT=DEBUG
python your_script.py
這樣,日志級別將根據環境變量的值進行設置。