溫馨提示×

Python日志在CentOS中如何配置

小樊
44
2025-07-17 00:11:42
欄目: 編程語言

在CentOS系統中配置Python日志通常涉及以下幾個步驟:

  1. 安裝Python: 確保你的CentOS系統上已經安裝了Python。你可以使用以下命令來檢查Python版本:

    python3 --version
    

    如果沒有安裝,可以使用以下命令來安裝:

    sudo yum install python3
    
  2. 創建Python腳本: 創建一個Python腳本文件,例如 app.py,并在其中配置日志記錄。以下是一個基本的配置示例:

    import logging
    
    # 配置日志記錄
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        handlers=[
            logging.FileHandler('app.log'),
            logging.StreamHandler()
        ]
    )
    
    # 獲取日志記錄器
    logger = logging.getLogger(__name__)
    
    # 記錄日志
    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')
    
  3. 運行Python腳本: 在終端中運行你的Python腳本:

    python3 app.py
    
  4. 查看日志文件: 運行腳本后,你會在當前目錄下看到一個名為 app.log 的日志文件。你可以使用以下命令查看日志文件內容:

    cat app.log
    
  5. 配置日志輪轉: 為了防止日志文件過大,可以使用 logging.handlers.RotatingFileHandler 來配置日志輪轉。修改 app.py 中的日志配置部分:

    from logging.handlers import RotatingFileHandler
    
    # 配置日志記錄
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        handlers=[
            RotatingFileHandler('app.log', maxBytes=10 * 1024 * 1024, backupCount=5),
            logging.StreamHandler()
        ]
    )
    
  6. 配置系統級日志: 如果你希望將Python日志發送到系統級日志(例如syslog),可以使用 logging.handlers.SysLogHandler。修改 app.py 中的日志配置部分:

    from logging.handlers import SysLogHandler
    
    # 配置日志記錄
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        handlers=[
            SysLogHandler(address='/dev/log'),
            logging.StreamHandler()
        ]
    )
    
  7. 使用配置文件: 你也可以創建一個單獨的配置文件來管理日志設置,例如 logging.conf。這個文件可以是一個INI格式的文件,用于配置 logging 模塊。以下是一個簡單的示例:

    [loggers]
    keys=root,my_logger
    
    [handlers]
    keys=fileHandler,consoleHandler
    
    [formatters]
    keys=simpleFormatter
    
    [logger_root]
    level=DEBUG
    handlers=fileHandler,consoleHandler
    
    [logger_my_logger]
    level=DEBUG
    handlers=fileHandler,consoleHandler
    qualname=my_logger
    propagate=0
    
    [handler_fileHandler]
    class=FileHandler
    level=DEBUG
    formatter=simpleFormatter
    args=('my_app.log', 'a')
    
    [handler_consoleHandler]
    class=StreamHandler
    level=DEBUG
    formatter=simpleFormatter
    args=(sys.stdout,)
    
    [formatter_simpleFormatter]
    format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
    datefmt=
    

    在你的Python腳本中,使用 logging.config.fileConfig 函數來加載配置文件:

    import logging
    import logging.config
    
    # 加載日志配置
    logging.config.fileConfig('logging.conf')
    
    # 獲取logger實例
    logger = logging.getLogger('my_logger')
    
    # 使用logger記錄日志
    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')
    

通過以上步驟,你可以在CentOS系統上配置Python日志記錄,并根據需要進行進一步的自定義和優化。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女