Set resource field on log entry

This commit is contained in:
Ehren Kret 2022-09-07 19:18:09 -05:00
parent 53387f5a0c
commit 8199e0d2d5
2 changed files with 6 additions and 3 deletions

View File

@ -7,6 +7,7 @@ package org.signal.event
import com.google.cloud.logging.LogEntry import com.google.cloud.logging.LogEntry
import com.google.cloud.logging.Logging import com.google.cloud.logging.Logging
import com.google.cloud.logging.MonitoredResourceUtil
import com.google.cloud.logging.Payload.JsonPayload import com.google.cloud.logging.Payload.JsonPayload
import com.google.cloud.logging.Severity import com.google.cloud.logging.Severity
import com.google.protobuf.Struct import com.google.protobuf.Struct
@ -22,7 +23,7 @@ class NoOpAdminEventLogger : AdminEventLogger {
override fun logEvent(event: Event, labels: Map<String, String>?) {} override fun logEvent(event: Event, labels: Map<String, String>?) {}
} }
class GoogleCloudAdminEventLogger(private val logging: Logging, private val logName: String) : AdminEventLogger { class GoogleCloudAdminEventLogger(private val logging: Logging, private val projectId: String, private val logName: String) : AdminEventLogger {
override fun logEvent(event: Event, labels: Map<String, String>?) { override fun logEvent(event: Event, labels: Map<String, String>?) {
val structBuilder = Struct.newBuilder() val structBuilder = Struct.newBuilder()
JsonFormat.parser().merge(jsonFormat.encodeToString(event), structBuilder) JsonFormat.parser().merge(jsonFormat.encodeToString(event), structBuilder)
@ -30,7 +31,8 @@ class GoogleCloudAdminEventLogger(private val logging: Logging, private val logN
val logEntryBuilder = LogEntry.newBuilder(JsonPayload.of(struct)) val logEntryBuilder = LogEntry.newBuilder(JsonPayload.of(struct))
.setLogName(logName) .setLogName(logName)
.setSeverity(Severity.NOTICE); .setSeverity(Severity.NOTICE)
.setResource(MonitoredResourceUtil.getResource(projectId, "project"));
if (labels != null) { if (labels != null) {
logEntryBuilder.setLabels(labels); logEntryBuilder.setLabels(labels);
} }

View File

@ -193,6 +193,7 @@ import org.whispersystems.textsecuregcm.storage.NonNormalizedAccountCrawlerListe
import org.whispersystems.textsecuregcm.storage.PhoneNumberIdentifiers; import org.whispersystems.textsecuregcm.storage.PhoneNumberIdentifiers;
import org.whispersystems.textsecuregcm.storage.Profiles; import org.whispersystems.textsecuregcm.storage.Profiles;
import org.whispersystems.textsecuregcm.storage.ProfilesManager; import org.whispersystems.textsecuregcm.storage.ProfilesManager;
import org.whispersystems.textsecuregcm.storage.ProhibitedUsernames;
import org.whispersystems.textsecuregcm.storage.PubSubManager; import org.whispersystems.textsecuregcm.storage.PubSubManager;
import org.whispersystems.textsecuregcm.storage.PushChallengeDynamoDb; import org.whispersystems.textsecuregcm.storage.PushChallengeDynamoDb;
import org.whispersystems.textsecuregcm.storage.PushFeedbackProcessor; import org.whispersystems.textsecuregcm.storage.PushFeedbackProcessor;
@ -201,7 +202,6 @@ import org.whispersystems.textsecuregcm.storage.RemoteConfigs;
import org.whispersystems.textsecuregcm.storage.RemoteConfigsManager; import org.whispersystems.textsecuregcm.storage.RemoteConfigsManager;
import org.whispersystems.textsecuregcm.storage.ReportMessageDynamoDb; import org.whispersystems.textsecuregcm.storage.ReportMessageDynamoDb;
import org.whispersystems.textsecuregcm.storage.ReportMessageManager; import org.whispersystems.textsecuregcm.storage.ReportMessageManager;
import org.whispersystems.textsecuregcm.storage.ProhibitedUsernames;
import org.whispersystems.textsecuregcm.storage.StoredVerificationCodeManager; import org.whispersystems.textsecuregcm.storage.StoredVerificationCodeManager;
import org.whispersystems.textsecuregcm.storage.SubscriptionManager; import org.whispersystems.textsecuregcm.storage.SubscriptionManager;
import org.whispersystems.textsecuregcm.storage.VerificationCodeStore; import org.whispersystems.textsecuregcm.storage.VerificationCodeStore;
@ -417,6 +417,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
.setCredentials(GoogleCredentials.fromStream(new ByteArrayInputStream( .setCredentials(GoogleCredentials.fromStream(new ByteArrayInputStream(
config.getAdminEventLoggingConfiguration().credentials().getBytes(StandardCharsets.UTF_8)))) config.getAdminEventLoggingConfiguration().credentials().getBytes(StandardCharsets.UTF_8))))
.build().getService(), .build().getService(),
config.getAdminEventLoggingConfiguration().projectId(),
config.getAdminEventLoggingConfiguration().logName()); config.getAdminEventLoggingConfiguration().logName());
StripeManager stripeManager = new StripeManager(config.getStripe().getApiKey(), stripeExecutor, StripeManager stripeManager = new StripeManager(config.getStripe().getApiKey(), stripeExecutor,