如何在App Engine Flex Java环境中使用Stackdriver Structured日志记录

如何在App Engine Flex Java环境中使用Stackdriver Structured日志记录,第1张

如何在App Engine Flex Java环境中使用Stackdriver Structured日志记录

您可以使用Logback附加程序+实施 LoggingEnhacer

public class LogEnhancer implements LoggingEnhancer {  @Override  public void enhanceLogEntry(LogEntry.Builder logEntry) {    // add Labels    logEntry.addLabel("project", "conversational-services");    // Transform textPayload to JSonPayload    ObjectMapper mapper = new ObjectMapper();    Builder structBuilder = Struct.newBuilder();    String textPayload = logEntry.build().getPayload().getData().toString();    try {      // Validate JSON Payload      mapper.readTree(textPayload);      JsonFormat.parser().merge(textPayload, structBuilder);      logEntry.setPayload(JsonPayload.of(structBuilder.build()));    } catch (InvalidProtocolBufferException e) {      // Error reporting an error! FML      System.err.println(e.getMessage());    } catch (IOException e) {      // Do nothing (there is not a JSON Payload)    }  }}

此类添加标签并在JSONPayload中转换JSON字符串

你需要指定 LoggingEnhacerlogback.xml 文件

<!DOCTYPE configuration><configuration>  <appender name="CLOUD" >    <filter >      <level>INFO</level>    </filter>    <log>application.log</log>     <resourceType>gae_app</resourceType>     <!--  References to the LoggingEnhacer class -->     <enhancer>[path_for_your_logging_enhancer_class]</enhancer>    <flushLevel>WARN</flushLevel>   </appender>  <root level="info">    <appender-ref ref="CLOUD" />  </root></configuration>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5500184.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存