LOG4J json-template-layout -添加所有标题

oyt4ldly  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(222)

我一直在尝试在header对象下添加http header,但似乎无法让它按照我希望的json模板布局工作。下面的方法可以工作,但它也添加了MDC中的所有元素。

  1. "headers": {
  2. "$resolver": "mdc",
  3. },

个字符
我可以在文档中看到LOG4JMap解析器模板,但我不知道如何使用它。它看起来像是引用一个对象,但我不能传递一个对象到TheadContext?
期望输出

  1. {
  2. "timestamp": "2023-10-27T17:00:00.000Z",
  3. "level" "INFO",
  4. "headers" : {
  5. "host": "localhost",
  6. "method": "POST"
  7. },
  8. "logger": "my_logger"
  9. }


我可以创建一个MapMessage并将其解析为log()

cbjzeqam

cbjzeqam1#

下面的模板应该可以完成这项工作:

  1. {
  2. "timestamp": {
  3. "$resolver": "timestamp",,
  4. "pattern": {
  5. "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
  6. "timeZone": "UTC"
  7. }
  8. },
  9. "level": {
  10. "$resolver": "level",
  11. "field": "name"
  12. },
  13. "headers": {
  14. "host": {
  15. "$resolver": "mdc",
  16. "key": "Host"
  17. },
  18. "method": {
  19. "$resolver": "mdc",
  20. "key": "Method"
  21. }
  22. },
  23. "logger": {
  24. "$resolver": "logger",
  25. "field": "name"
  26. }
  27. }

字符串

展开查看全部

相关问题