在运行期间无法更改dropwizard中的日志级别

时间:2018-09-18 21:27:52

标签: java rest yaml slf4j dropwizard

我的config.yml文件看起来像这样(记录部分):

logging:
 level: INFO
 loggers:
  com.company.package: ERROR
  appenders:
    - type: console
     threshold: DEBUG

这会将com.company.package上的所有日志记录设置为ERROR。对于开发环境,我想在运行时重写它,也要记录调试级别的日志。

我尝试使用以下方法进行操作:

curl -k -X POST -d "logger=com.company.package&level=DEBUG" http://localhost:8081/tasks/log-level

这没有帮助。它仍然只将ERROR级别的日志注销到控制台。

也在这里尝试了答案:

Dropwizard Admin: Change loglevel for all

这也无济于事。

将com.company.package更改为DEBUG时,我可以获得调试日志,但是我不想那样做。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,正如您提到的,链接问题也无法解决

在dw 1.3.8中,我发现TaskServlet第180行要求输入作为查询参数,而不是POST正文

例如

curl -k -X POST -d "" 'https://localhost:[AdminPort]/tasks/log-level?logger=com.payit.kafka.HelloWorld&level=DEBUG'