【问题标题】:Django Elastic APM Trace logs message missingDjango Elastic APM Trace 日志消息丢失
【发布时间】:2021-12-14 09:48:27
【问题描述】:

我有 Django-elastic APM 设置,它将跟踪和日志发送到 elk 堆栈。它确实有效,但不是我需要的。我得到了跟踪,我得到了元数据,甚至收到了日志(第二张图片)

但是,问题是,我在日志部分没有收到任何消息,也没有找到如何自定义字段。

但是!当我直接在日志中搜索时,我看到以下内容: 消息存在

最后,当我搜索发现部分时,我可以看到更多信息。字段,我确实需要。

问题

那么,有我的问题。是否可以至少将消息信息添加到事务日志(第一张图片),是否可以至少将自定义字段添加到日志部分(第二张图片)另外,有没有办法让日志至少可点击? (也是第二张图片,我的意思是它只是纯文本,我必须去发现和使用这个信息,比如 ctrl+c ctrl+v) 最后,为什么日志被标记为错误,如果它只是一个日志,并且像日志一样使用?正如您在第二个屏幕中看到的那样,我尝试将不同的级别设置为调试或信息,但它仍然像错误一样出现在 apm-7.14-error* 索引中。

这是我的日志记录设置:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'simple': {
        'format': 'velname)s %(message)s'
    },
},
'handlers': {
    'console': {
        'level': 'INFO',
        'class': 'logging.StreamHandler',
        'formatter': 'simple'
    },
    'elasticapm': {
        'level': 'DEBUG',
        'class': 'elasticapm.contrib.django.handlers.LoggingHandler',
    },

},
'loggers': {
    'meditations': {
        'handlers': ['elasticapm'],
        'level': 'DEBUG',
        'propagate': False,
    },
}

} 这就是我发送日志的方式:

logger = logging.getLogger('meditations')
logger.info(
    'info',
    extra={
        'request.data': request.data,
        'user_utc_time': request.user.fcmTime
    }
)
logger.warning(
    'log',
    extra={
        'request.data': request.data,
        'user_utc_time': request.user.fcmTime
    }
)
logger.debug(
    'debug',
    extra={
        'request.data': request.data,
        'user_utc_time': request.user.fcmTime
    }
)

【问题讨论】:

    标签: django logging elastic-stack


    【解决方案1】:

    我自己想通了。弹性日志不提供调试信息警告日志,它仅用于传递高级(错误关键)日志并且不保存消息。如果你来到这里,你应该使用 Django 日志记录并通过 logstash 或 filebeat 将其发送到弹性。我用过logstash。

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 2020-03-03
      • 2014-01-28
      • 2017-02-11
      • 2021-08-14
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      相关资源
      最近更新 更多