日志级别
NOTEST < DEBUG < INFO < ERROR < FATAL
日志配置
LOGGING = {
'version' : 1,
'disable_existing_loggers' : False,
# 配置日志格式化器
'formatters' : {
'simple' : {
'format' : '%(asctime)s %(module)s.%(funcName)s: %(message)s',
'datefmt' : '%Y-%m-%d %H:%M:%S',
},
'verbose' : {
'format': '%(asctime)s %(levelname)s [%(process)d-%(threadName)s] '
'%(module)s.%(funcName)s line %(lineno)d: %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S',
}
},
# 配置日志过滤器
'filters' : {
'require_debug_true' : {
'()' : 'django.utils.log.RequireDebugTrue',
},
},
# 配置日志处理器
‘handlers’ : {
'console' : {
'class' : 'logging.StreamHandler',
'level' : 'DEBUG',
'filters' : ['require_debug_true'],
'formatter' : 'simple',
} ,
'file1' : {
'class' : 'logging.handlers.TimedRotatingFileHandler',
'filename' : 'access.log',
'when' : 'W0',
'backupCount' : 12,
'formattter' : 'simple',
'level' : 'INFO',
},
'file2' : {
'class' : 'logging.handlers.TimedRotatingFileHandler',
'filename' : 'error.log',
'when' : 'D',
'backupCount' : 31,
'formattter' : 'verbose',
'level' : 'INFO',
},
},
# 配置日志器
‘loggers’ : {
'django' : {
'handlers' : ['console','file1','file2'],
'propagate' : True,
'level' : 'DEBUG',
},
}
}
日志分析
1.Linux相关命令:head、tail、grep、awk、uniq、sort
tail -10000 access.log | awk '{print $1} | uniq -c | sort -r'
2.实时日志文件分析:Python + 正则表达式 + Crontab
3.《Python日志分析工具》。
4.《集中式日志系统ELK》。
- ElasticSearch : 搜索引擎,实现全文检索。
- Logstash :负责从指定节点收集日志。
- Kibana:日志可视化工具。
5.大数据日志分析: Flume+Kafka日志采集、Storm/Spark实时数据处理、Impala实时查询。