日志級(jí)別
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',
}
},
# 配置日志過(guò)濾器
'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相關(guān)命令:head腋妙、tail、grep幕庐、awk久锥、uniq、sort
tail -10000 access.log | awk '{print $1} | uniq -c | sort -r'
2.實(shí)時(shí)日志文件分析:Python + 正則表達(dá)式 + Crontab
3.《Python日志分析工具》异剥。
4.《集中式日志系統(tǒng)ELK》瑟由。
- ElasticSearch : 搜索引擎,實(shí)現(xiàn)全文檢索冤寿。
- Logstash :負(fù)責(zé)從指定節(jié)點(diǎn)收集日志歹苦。
- Kibana:日志可視化工具。
5.大數(shù)據(jù)日志分析: Flume+Kafka日志采集疚沐、Storm/Spark實(shí)時(shí)數(shù)據(jù)處理暂氯、Impala實(shí)時(shí)查詢。