用于向logdna发送日志的python包

logdna的Python项目详细描述


python包,用于登录logdna


  • 安装
  • 设置
  • 用法
  • api
  • 许可证

安装

$ pip install logdna

设置

importloggingfromlogdnaimportLogDNAHandlerkey='YOUR INGESTION KEY HERE'log=logging.getLogger('logdna')log.setLevel(logging.INFO)options={'hostname':'pytest','ip':'10.0.1.1','mac':'C0:FF:EE:C0:FF:EE'}# Defaults to false, when true ensures meta object will be searchableoptions['index_meta']=Truetest=LogDNAHandler(key,options)log.addHandler(test)log.warn("Warning message",{'app':'bloop'})log.info("Info message")

必需的

可选

  • 主机名-(字符串)-最大长度32个字符
  • MAC地址-(字符串)
  • IP地址-(字符串)
  • 最大长度-(布尔值)-格式化为选项["最大长度"]
  • 索引meta-(布尔值)-格式化为选项["index_meta"]

用法

在初始设置之后,日志记录非常简单:

# Simplest use caselog.info('My Sample Log Line')# Add a custom levellog.info('My Sample Log Line',{'level':'MyCustomLevel'})# Include an App name with this specific loglog.info('My Sample Log Line',{'level':'Warn','app':'myAppName'})# Pass any associated objects along as metadatameta={'foo':'bar','nested':{'nest1':'nested text'}}opts={'level':'warn','meta':meta}log.info('My Sample Log Line',opts)

与文件配置一起使用

logdnahandlerfileconfig一起使用(例如,在djangosettings.py文件中):

importosimportloggingfromlogdnaimportLogDNAHandler#  required to register `logging.handlers.LogDNAHandler`LOGGING={# Other logging settings...'handlers':{'logdna':{'level':logging.DEBUG,'class':'logging.handlers.LogDNAHandler','key':os.environ.get('LOGDNA_INGEST_KEY'),'options':{'app':'<app name>','env':os.environ.get('ENVIRONMENT'),'index_meta':<True|False>,},},},'loggers':{'':{'handlers':['logdna'],'level':logging.DEBUG},},}

(本例假设您已经为environmentlogdna摄取键设置了环境变量)

API

logdnahandler(键,[选项])


密钥< /H4>
  • 必需的
  • 类型:字符串
  • 值:yourapikey

与您的帐户关联的logdna api密钥

选项

APP
  • 可选
  • 类型:字符串
  • 默认值:''
  • 值:yourcustomapp
  • 最大长度:32

默认应用与通过此实例发送的每个日志一起传递。

Env
  • 可选
  • 类型:字符串
  • 默认值:''
  • 值:yourcustomenv
  • 最大长度:32

默认env与通过此实例发送的每个日志一起传递。

主机名
  • 可选
  • 类型:字符串
  • 默认值:''
  • 值:yourcustomhostname
  • 最大长度:32

默认主机名与通过此实例发送的每个日志一起传递。

包括标准配置
  • 可选
  • 类型:布尔型
  • 默认值:false

python在日志中包含可能是有用元数据的语言特定信息。将include_standard_meta设置为true将自动使用日志记录中的名称路径名行号填充元对象。有关这些值的详细信息,请参见logrecorddocs

元索引
  • 可选
  • 类型:布尔型
  • 默认值:false

我们允许在每一行中传递元对象。默认情况下,这些元对象TS将被严格化,并且不可搜索,但将显示为供参考。

如果将此选项设置为true,则将解析元对象,并可搜索到三层深度。任何深度超过三级的字段都将被严格限制,无法搜索。

警告如果此选项为真,则所有类型日志消息中的元数据对象必须具有一致的类型,否则可能无法正确分析元数据对象!

水平
  • 可选
  • 类型:字符串
  • 默认值:信息
  • 值:调试跟踪信息警告错误致命自定义级别
  • 最大长度:32

默认级别随通过此实例发送的每个日志一起传递。

冗长
  • 可选
  • 键入:stringboolean
  • 默认值:true
  • 值:false或任意级别

每次失败时日志语句的详细程度。

请求超时
  • 可选
  • 类型:int
  • 默认值:30000

请求在超时前等待LogDNA响应的时间。

标签
  • 可选
  • 键入:string[]
  • 默认值:[]

用于动态分组主机的标记列表。有关标记的更多信息,请访问如何使用主机标记?

URL
  • 可选
  • 类型:字符串
  • 默认值:'https://logs.logdna.com/logs/insert'

要将日志行流式处理到的自定义摄取终结点。

日志(行,[选项])


线

  • 必需的
  • 类型:字符串
  • 默认值:''
  • 最大长度:32000

将发送到LogDNA系统的线路。

选项

水平
  • 可选
  • 类型:字符串
  • 默认值:信息
  • 值:调试跟踪信息警告错误致命自定义级别
  • 最大长度:32

与此日志行一起传递的级别。

APP
  • 可选
  • 类型:字符串
  • 默认值:''
  • 值:yourcustomapp
  • 最大长度:32

应用程序与此日志行一起传递。

Env
  • 可选
  • 类型:字符串
  • 默认值:''
  • 值:yourcustomenv
  • 最大长度:32

使用此日志行传递的环境。

  • 可选
  • 类型:json
  • 默认值:

用于传递的日志行的其他元数据的元对象。请确保值是json可序列化的, 将删除不可JSON序列化的值,并将相应的键添加到\u errors字符串中。

元索引
  • 可选
  • 类型:布尔型
  • 默认值:false

我们允许在每一行中传递元对象。默认情况下,这些元对象将被字符串化,并且不可搜索, 但将显示以供参考。

如果将此选项设置为true,则将解析元对象,并可搜索到三层深度。任何深度超过三级的字段都将被严格限制,无法搜索。

警告当选项为true,所有类型日志消息中的元数据对象必须具有一致的类型,否则可能无法正确分析元数据对象!

时间戳
  • 可选
  • 默认值:time.time()

时间戳(以毫秒为单位)必须在一天内,否则它将被删除,并将使用time.time()代替它。

许可证

麻省理工学院

快乐的日志!< /P>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修改打印板?   java Spring批处理JdbcCursorItemReader还是RepositoryItemReader?   java如何在JTable Swing中增加标题列的字体?   java在数组方面遇到问题,导致表达式非法启动   java如何为maven pom的某些部分关闭Eclipse代码格式化程序。xml   java Dropwizard登录代码   java Jersey 2.22:客户端的默认连接超时是多少?   java无法自动连接字段:javax。sql。数据来源   如何从java中的行列表中获取单词列表?   java JDBC批量更新和处理异常?   计算大根:bigdecimal/java   java如何在JavaCC语法中提到trycatch块   javasocket。getInetAddress()不返回任何内容   oracle SQL开发人员错误无法找到Java虚拟机   java我如何计算和显示未来5年每一年的投资价值   java如何关闭浏览器选项卡?   java如何在showMessageDialog中打印双2D数组?   java从站点抓取播放列表URL?   selenium中的java点击css按钮