Django中logging的配置
一、配置信息:
ADMINS = (
('tom','*******@163.com'),
)
LOGGING = { 'version': 1, #版本
'disable_existing_loggers': False, #是否禁用其他的logger 'formatters': { 'standard': { 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}, 'myself':{ 'format': '%(asctime)s- %(message)s ' } }, 'filters': { # 'require_debug_false': { # '()': 'django.utils.log.RequireDebugFalse', # }, 'require_debug_true':{ '()': 'django.utils.log.RequireDebugTrue', } }, 'handlers': { 'null': { 'level': 'DEBUG', 'class': 'logging.NullHandler', }, 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_true'], }, 'debug': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': os.path.join(BASE_DIR, "log", 'debug.log'),#log文件地址 手动新建一个log目录下debug.log, 不然会报错 'maxBytes': 1024 * 1024 * 5,# 5M 'backupCount': 5, 'formatter': 'myself', }, 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'myself', }, }, 'loggers': { 'django': { 'handlers': ['console', 'debug'], 'level': 'DEBUG', 'propagate': True }, 'django.request': { 'handlers': ['debug', 'mail_admins'], 'level': 'ERROR', 'propagate': True, # 是否继承父类的log信息 }, # 对于不在 ALLOWED_HOSTS 中的请求不发送报错邮件 'django.security.DisallowedHost': { 'handlers': ['null'], 'propagate': False, }, } }
二、使用举例:
def hello_log(request): logger = logging.getLogger("django")#使用上面配置中的“django”配置 logger.error("haha error") return HttpResponse("hello log")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!