日志组件¶
日志支持多种存储方式:
- 控制台输出
- 打印到文件
- 打印到数据库
- 打印到MongoDB
- 打印到socket
- 打印到facebook scribe(最复杂)
python日志记录设施
- class nd.rest.log.LogInfo(logfile='error.log', logtag='test', format_str=None)¶
日志记录类
>>> log_o = LogInfo("error.log") >>> log_o.write("日志")
- get_format()¶
返回格式
Returns:
- get_format_str()¶
Returns:
- get_log_file()¶
返回记录日志文件名
Returns:
- output(loginfo, errorflag=0)¶
Facebook Scribe日志发送¶
使用facebook scribe接收日志,需要安装fb303、scribe、thrift这些第三方库,目前我还未打包上传-_-
日志系统截图¶
- class nd.rest.logger.scribe_handler.ScribeHandler(log_tag=None)¶
日志Scribe处理器
将该handler加入日志记录设施,然后调用日志发送方法,即可发送到scribe服务器
日志查看地址
# 添加日志handler,写向Scribe日志服务器 >>> logger.addHandler(self.handler) # 正常调用 >>> logger.info("Scribe日志测试: " + CoTime().iso8601())
- close()¶
Closes the stream.
- emit(record)¶
日志记录器日志发送函数
record 日志记录
logging模块中的record构造日志记录对象,可以直接用于传递给handler进行处理
log record对象格式:
// MakeRecord() { levelname: "INFO" }
>>> import logging >>> ts_o = CoTime() >>> ts_str = ts_o.iso8601() >>> logger = logging.getLogger(__name__) >>> logger.info(ts_str)