1、事件追踪
在什么样的时间发生了什么样的事情
2、bug调试
3、程序告警
4、大数据统计
ELK 日志分析系统
elasticsearh + logstasn + kibana
名词概念
loggers:日志器 —— 定大方向:1
handlers:处理器 —— 执行:3
formatters:格式化,是与处理器进行绑定的 —— 规矩:2
filters:过滤器,控制输出的内容
# 日志等级
"""
debug
info
warning
error
critical
"""
import loggingmuyi = '%(asctime)s - %(levelname)s - %(name)s - %(lineno)d'
logging.basicConfig(level=logging.WARNING, # 自定义日志等级等级format=muyi, # 绑定filename='my.log', # 保存的文件filemode='a', # 写入方式
)a = 'hello world'
logging.debug(a)
logging.info(a)
logging.warning(a)
logging.error(a)
logging.critical(a)
简单的日志配置
settings .py
# 简单的日志配置
LOGGING = {'version': 1,'handlers': {'file': {'level': 'INFO','class': 'logging.FileHandler','filename': os.path.join(BASE_DIR, "logs/django.log")}},'loggers': {'django': {'handlers': ['file'],'level': 'INFO','propagate': True}}
}
使用日志中的配置
views.py
log = logging.getLogger('django.log') # django.log 要和配置中的一致def hello(request):log.info('hello world')print('你好世界')return HttpResponse('你好')
urls.py
from django.urls import path
from .views import helloapp_name = 'the_17' # 命名空间
urlpatterns = [path('hello/', hello),
]
保存的日志文件