Skip to content

Impossible to create com.google.cloud.logging.LogEntry with both TextPayload and JsonPayload #1759

@snturk

Description

@snturk

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

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

Metadata

Metadata

Assignees

Labels

api: loggingIssues related to the googleapis/java-logging API.priority: p3Desirable enhancement or fix. May not be included in next release.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions