googleapis / googleapis/google-cloud-java

[java-logging] Impossible to create com.google.cloud.logging.LogEntry with both TextPayload and JsonPayload

未关闭
#11,915 0 条评论 0 个 reaction 已指派 1 人 已被 @cindy-peng 认领 在 GitHub 查看
api: logging priority: p3
主要语言
Java
星标
2.1k
派生
1.2k
平均合并
1 天 23 小时
30 天内合并 PR
157

描述

My program perfectly send logs to Logs Explorer with Google's `com.google.cloud.logging` library. However, when I want to set both textPayload and jsonPayload, I can't.

If just JsonPayload is set, then I'm unable to see log's message on preview. It just shows the URL that my Cloud Function works.

However, in com.google.logging.v2.LogEntry model, I can set both textPayload and jsonPayload. In this way I cannot send logs to server because of the `com.google.cloud.logging.Logging` instance's `write` method does not accept this type of LogEntry

#### Steps to reproduce

1. Write a simple LogEntry build statement with JsonPayload or TextPayload (cannot do both, that's the issue)
2. Run `logging.write(Collections.singleton(logEntry));` and see it display textpayload's content for preview on Logs Explorer but if you set JsonPayload, it just dont.

#### Code example

```java
LogEntry logEntry =
LogEntry.newBuilder(logPayload.getPayload())
.setLogName(GOOGLE_CLOUD_LOG_NAME)
.setSeverity(severity)
.setTimestamp(logPayload.getTimestamp())
.build();
logging.write(Collections.singleton(logEntry));
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。