日志

日志级别

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实时查询。

你可能感兴趣的:(日志)