0

我昨天做了一个应用程序,想在 Graylog 中记录消息,为此,我按照https://quarkus.io/guides/centralized-log-management的说明,在远程服务器上安装了一个 Graylog 实例并配置了我的应用程序.

#### Graylog logging
quarkus.log.handler.gelf.enabled=true
quarkus.log.handler.gelf.host=my_remote_server
quarkus.log.handler.gelf.filter-stack-trace=true
quarkus.log.handler.gelf.level=ALL
quarkus.log.handler.gelf.include-full-mdc=true

这是代码的样子

@POST
@Produces(TEXT_HTML)
@Consumes(APPLICATION_FORM_URLENCODED)
public TemplateInstance perform(@Form final SearchRequest request) {
    LOGGER.debug(String.format("[%s] Calling search page", applicationName));
    final String requestId = UUID.randomUUID().toString();
    LOGGER.debug(format("{%s]  -> Searching for lawyers with data '%s'", applicationName, requestId, request));
    final Query query = searchQueryBuilder.createSearchHibernateQuery(request);
    List< MedicalDoctor> medicalDoctors = (List< MedicalDoctor>) query.getResultList();
    LOGGER.debug(format("[%s] %s -> Searching for lawyers with data '%s' : count %d -> %s", applicationName, requestId, request, medicalDoctors.size(), medicalDoctors));
    return main().data("medicalDoctors", medicalDoctors).data("request", request);
}

作为记录器,我正在使用

private static final org.jboss.logging.Logger LOGGER = Logger.getLogger(MenuPages.class);

我不知道为什么,但在 Graylog 中,我只能看到来自 Quarkus 启动的日志,而没有来自我的应用程序的日志(这不是应该记录的唯一方法)。我试图将日志消息从 DEBUG 更改为 INFO,但无济于事。

任何人都知道我在某处配置错误的原因是什么?

谢谢您的帮助,

D.

4

1 回答 1

0

将日志级别更改为 INFO

quarkus.log.handler.gelf.level=INFO

并在代码含义中使用 debug.info

LOGGER.info(format("%s]  -> Searching for lawyers with data '%s'", applicationName, requestId, request));

成功了。感恩节

于 2021-07-21T18:48:39.880 回答