Skip to content

fix(go): Display clear error message when logger fails#3577

Merged
apascal07 merged 2 commits intomainfrom
jh-slog-logging
Sep 15, 2025
Merged

fix(go): Display clear error message when logger fails#3577
apascal07 merged 2 commits intomainfrom
jh-slog-logging

Conversation

@huangjeff5
Copy link
Copy Markdown
Contributor

Mimics TS behavior. When logger fails, we:

  • clearly switch to a new logger that writes to stderr
  • show a helpful logging denied helptext (first time only)
  • reinitialize the logger in case there was an intermittent issue

Example:

time=2025-09-12T19:49:08.192-05:00 level=WARN msg="Switched to stderr logging due to Google Cloud logging failure" error="rpc error: code = PermissionDenied desc = Permission 'logging.logEntries.create' denied on resource (or it may not exist).\nerror details: name = ErrorInfo reason = IAM_PERMISSION_DENIED domain = iam.googleapis.com metadata = map[permission:logging.logEntries.create]\nerror details: name = Unknown  desc = log_entry_errors:{key:0  value:{code:7  message:\"Permission 'logging.logEntries.create' denied on resource (or it may not exist).\"}}  log_entry_errors:{key:1  value:{code:7  message:\"Permission 'logging.logEntries.create' denied on resource (or it may not exist).\"}}  log_entry_errors:{key:2  value:{code:7  message:\"Permission 'logging.logEntries.create' denied on resource (or it may not exist).\"}}"                            
time=2025-09-12T19:49:08.192-05:00 level=ERROR msg="Unable to send logs to Google Cloud" error="rpc error: code = PermissionDenied desc = Permission 'logging.logEntries.create' denied on resource (or it may not exist).\nerror details: name = ErrorInfo reason = IAM_PERMISSION_DENIED domain = iam.googleapis.com metadata = map[permission:logging.logEntries.create]\nerror details: name = Unknown  desc = log_entry_errors:{key:0  value:{code:7  message:\"Permission 'logging.logEntries.create' denied on resource (or it may not exist).\"}}  log_entry_errors:{key:1  value:{code:7  message:\"Permission 'logging.logEntries.create' denied on resource (or it may not exist).\"}}  log_entry_errors:{key:2  value:{code:7  message:\"Permission 'logging.logEntries.create' denied on resource (or it may not exist).\"}}"                                                      
Add the role 'roles/logging.logWriter' to your Service Account in the IAM & Admin page on the Google Cloud console, or use the following command:                                                                       
 
gcloud projects add-iam-policy-binding jeff-glm-testing \
    --member=serviceAccount:${SERVICE_ACCOUNT_EMAIL} \
    --role=roles/logging.logWriter
 
For more information, see: https://cloud.google.com/docs/authentication/getting-startedtime=2025-09-12T19:49:09.221-05:00 level=WARN msg="Switched to stderr logging due to Google Cloud logging failure" error="rpc error: code = PermissionDenied desc = Permission 'logging.logEntries.create' denied on resource (or it may not exist).\nerror details: name = ErrorInfo reason = IAM_PERMISSION_DENIED domain = iam.googleapis.com metadata = map[permission:logging.logEntries.create]"                                                               
time=2025-09-12T19:49:09.221-05:00 level=ERROR msg="Unable to send logs to Google Cloud" error="rpc error: code = PermissionDenied desc = Permission 'logging.logEntries.create' denied on resource (or it may not exist).\nerror details: name = ErrorInfo reason = IAM_PERMISSION_DENIED domain = iam.googleapis.com metadata = map[permission:logging.logEntries.create]" 

@github-actions github-actions bot added the go label Sep 15, 2025
@huangjeff5 huangjeff5 marked this pull request as ready for review September 15, 2025 15:45
@apascal07 apascal07 merged commit 0fbcb9d into main Sep 15, 2025
6 checks passed
@apascal07 apascal07 deleted the jh-slog-logging branch September 15, 2025 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants