首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Loggly Loggly logging setup using dictconfig

Python Loggly Loggly logging setup using dictconfig
EN

Stack Overflow用户
提问于 2015-07-28 00:21:12
回答 1查看 753关注 0票数 1

我想在我的新的linux应用程序中尝试Loggly,因为我通常在PaaS服务器上编写代码,只使用标准的旋转文件处理程序。这带来了一个问题,因为他们的文档配置只涉及使用.conf文件,并且他们在首选的HTTPS处理程序中有一些自定义方法,所以有几个技巧可以用其他方式进行配置。

我一直在使用嵌套的.py文件来处理应用程序其余部分的配置,并且不想更改,而且文档中似乎更倾向于使用didn方法。

那么,如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2015-07-28 00:21:12

该方法使用标准python日志记录模块的dictconfig方法,并在2.7.9上进行了测试

安装“loggly-python-handler”模块。

在代码中,您可以执行以下操作,其中'conf‘是您的.py配置文件:

代码语言:javascript
复制
import logging, logging.config
import loggly.handlers
import conf

# Init Logging
logging.config.dictConfig(conf.LOGGING)
logger = logging.getLogger(u'root')

然后,在'conf.py‘文件中,您可以使用以下字典(替换您的密钥):

代码语言:javascript
复制
LOGGING = {
    u'version': 1,
    u'handlers': {
        u'loggly': {
            u'class': u'loggly.handlers.HTTPSHandler',
            u'formatter': u'basic',
            u'level': u'DEBUG',
            u'url': u'https://logs-01.loggly.com/inputs/YOUR_KEY_HERE/tag/pytest'
        },
        u'console': {
            u'class': u'logging.StreamHandler',
            u'level': u'DEBUG',
            u'formatter': u'basic',
            u'stream': u'ext://sys.stdout',
        }
    },
    u'formatters': {
        u'basic': {
            u'format': u'%(asctime)s | %(name)15s:%(lineno)3s:%(funcName)15s | %(levelname)7s | %(message)s'
        }
    },
    u'loggers': {
        u'root': {
            u'level': u'DEBUG',
            u'handlers': [u'console', u'loggly']
        }
    }
}

这是使用日志模块文档中的dictconfig的说明的组合:https://docs.python.org/2/library/logging.config.html

并深入研究“loggly-python-handler”模块的代码,以了解其构造函数是如何工作的:https://github.com/psquickitjayant/loggly-python-handler/blob/master/loggly/handlers.py

你也可以直接从控制台测试(别忘了添加你的密钥):

代码语言:javascript
复制
import logging
import loggly.handlers
handler = loggly.handlers.HTTPSHandler(url='https://logs-01.loggly.com/inputs/YOUR_KEY_HERE/tag/python')
logger = logging.getLogger(u'root')
logger.addHandler(handler)
logger.warning("test loggly connection")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31658292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档