googleapis / googleapis/google-cloud-java

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

Ouverte
#11,915 0 commentaires 0 réactions 1 personne assignée Réclamée par @cindy-peng Voir sur GitHub
api: logging priority: p3
Langage dominant
Java
Étoiles
2.1k
Forks
1.2k
Merge moyen
1 j 23 h
PR mergées (30 j)
154

Description

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));
```

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.