当前位置: 首页 > 知识库问答 >
问题:

如何调整websphere liberty中的json日志格式

长孙文栋
2023-03-14

我们在IBMCloud上有一个基于自由的应用程序,我们希望向LogDNA服务发送结构化日志。目前,当我们设置<code>com.ibm.ws.logging.message时。format=json它以如下格式发出日志:

{
  "type": "",
  "host": "",
  "ibm_userDir": "",
  "ibm_serverName": "",
  "message": "",
  "ibm_threadId": "",
  "ibm_datetime": "",
  "module": "",
  "loglevel": "",
  "ibm_sequence": "",
  "ext_thread": ""
}

相反,LogDNA最适合这样的格式:

{
  "line": "This is an awesome log statement",
  "app": "myapp",
  "level": "INFO",
  "env": "production",
  "meta": {
    "customfield": {
      "nestedfield": "nestedvalue"
    }
  }
}

有没有办法重命名自由发出的JSON属性?

共有1个答案

岳研
2023-03-14

目前还没有一个内置的方法来重新映射字段名称——但我们认识到它的价值。https://github.com/OpenLiberty/open-liberty/issues/6079有一个悬而未决的问题。请添加您的评论,以确保它涵盖了您想要的内容。

更新:自2010年10月19日起,此功能现已受支持!

通过在我的服务器中设置日志记录配置,我最终可以获得预期的行为。xml转换为如下内容:

<logging traceSpecification="${env.TRACE_SPEC}" traceFileName="stdout" isoDateFormat="true"/>

并在我的 kubernetes 部署中设置以下环境变量:

      containers:
      - env:
        - name: TRACE_SPEC
          value: "*=info"
        - name: WLP_LOGGING_MESSAGE_FORMAT
          value: json
        - name: WLP_LOGGING_MESSAGE_SOURCE
          value: ""
        - name: WLP_LOGGING_CONSOLE_FORMAT
          value: json
        - name: WLP_LOGGING_CONSOLE_LOGLEVEL
          value: info
        - name: WLP_LOGGING_CONSOLE_SOURCE
          value: message,trace,accessLog,ffdc,audit
        - name: WLP_LOGGING_JSON_FIELD_MAPPINGS
          value: loglevel:level,ibm_datetime:timestamp
 类似资料:
  • 目前我得到了一个NullPointException。我不知道如何修理它。只是想知道我是否可以调整Python日志级别,看看是否可以从中获得更多信息。问题:如何调整PySpark的日志级别?

  • 问题内容: 我在用 : 输出为: 我如何只打印不带日期和INFO的消息? 问题答案: 使用系统属性更改SimpleFormatter的格式: 或在logging.properties中: 所有这些属性都以format方法记录。

  • 问题内容: 我正在使用jQuery在Ajax上进行首次尝试。我正在将数据获取到页面上,但是为Date数据类型返回的JSON数据遇到了一些麻烦。基本上,我得到的字符串看起来像这样: 从完全不熟悉JSON的人- 如何将其格式化为短日期格式?是否应该在jQuery代码中的某个地方处理?我尝试使用该插件没有成功。 仅供参考:这是我结合以下答案使用的解决方案: 该解决方案从回调方法中获取了我的对象,并使用日

  • 问题内容: 当使用日志包时,Go输出类似 如何将日期和时间格式更改为类似的格式?示例(操场链接): 问题答案: 就像yed posterior所说,您可以通过实现write函数来定义自定义io.Writer。您可能还想做一个log.SetFlags(0)来完全控制。这是一个更改日期格式以及添加一些日志级别信息的示例。 输出: 2016-03-21T19:54:28.563Z [DEBUG]这已被记

  • Apache日志提供有助于检测服务器常见问题的详细信息。要记录网站的访问日志,必须启用。 apache配置文件中有三个指令,即 - :创建日志文件。 :指定自定义格式。 :创建和格式化日志文件。 指令在apache配置文件中可用,它根据设置参数轮转虚拟主机日志文件。 两种类型的Apache日志格式 通用日志格式 组合日志格式 可以通过编辑apache配置文件来启用它们,即(Debian/ubunt

  • 给定一个带有一个字符串字段的简单protobuf消息: 和打印它的示例代码: 此输出的结果将是: 每个消息(实际上是每个字段)都有“\n”换行符。这显然对伐木工人不利。 用Gson序列化会更糟,因为Gson将序列化生成的许多其他字段... 我们如何将protobuf消息转换为没有换行符的单个字符串?