在CentOS系统中配置Python日志通常涉及以下几个步骤:
安装Python: 确保你的CentOS系统上已经安装了Python。你可以使用以下命令来检查Python版本:
python3 --version
如果没有安装,可以使用以下命令来安装:
sudo yum install python3
创建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')
运行Python脚本: 在终端中运行你的Python脚本:
python3 app.py
查看日志文件:
运行脚本后,你会在当前目录下看到一个名为 app.log
的日志文件。你可以使用以下命令查看日志文件内容:
cat app.log
配置日志轮转:
为了防止日志文件过大,可以使用 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()
]
)
配置系统级日志:
如果你希望将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()
]
)
使用配置文件:
你也可以创建一个单独的配置文件来管理日志设置,例如 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日志记录,并根据需要进行进一步的自定义和优化。