logging模块是Python内置的标准模块,主要用于输出日志信息,可以设置输出日志的等级、日志保存路径等信息。
日志的作用
日志主要有三种作用:
- 问题跟踪
通过日志文件,在程序安装或者运行过程中出现的问题,会进行记录,以便技术人员进行问题排查。如果没有日志文件,问题将会难以进行判断。
- 状态监控
通过对日志进行实时分析,可以监控运行状态,以便出现问题时可以尽早发现。
- 安全审计
主要用于查看是否存在未授权的操作。
日志等级
- DEBUG
代表记录最详细的日志信息,主要用于问题诊断。
- INFO
代表只记录关键节点信息,用于确认系统是否正常运行。
- WARNING
代表系统出现异常时记录相关信息,这些异常不会影响系统的正常运行。例如,磁盘剩余空间较少等。
- ERROR
代表记录导致系统无法正常运行的信息。例如IO问题。
- CRITICAL
代表记录发生严重错误时的信息。
logging模块
- Loggers
提供应用程序直接使用的接口。
- Handlers
用于将日志发送到指定位置。
- Filters
用于决定哪些日志会输出,其他日志被忽略。
- Formatters
用于控制日志信息的输出格式。主要有:
格式 | 描述 |
---|---|
%(levelno)s | 打印代表日志级别的数值 |
%(levelname)s | 打印日志级别的名称 |
%(pathname)s | 打印当前程序的路径 |
%(filename)s | 打印当前程序名 |
%(funcName)s | 打印当前函数 |
%(lineno)d | 打印当前行号 |
%(asctime)s | 打印时间 |
%(thread)d | 打印线程ID |
%(threadName)s | 打印线程名称 |
%(process)d | 打印进程ID |
%(message)s | 打印日志信息 |
settings.py文件添加配置
# logging configuration
ADMINS = (
('kalath', '1xxxxxx@qq.com'),
)
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SERVER_EMAIL = EMAIL_HOST_USER
LOGGING = {
'version': 1,
'disable_existing_loggers':