From a5abb05761a739562c67820499b433c0d5a23700 Mon Sep 17 00:00:00 2001 From: jianglai Date: Mon, 21 May 2018 20:11:53 -0700 Subject: [PATCH] Migrating to fluent logging (red) This is a 'red' Flogger migration CL. Red CLs contain changes which are likely not to work without manual intervention. Note that it may not even be possible to directly migrate the logger usage in this CL to the Flogger API and some additional refactoring may be required. If this is the case, please note that it should be safe to submit any outstanding 'green' and 'yellow' CLs prior to tackling this. If you feel that your use case is not covered by the existing Flogger API please raise a feature request at []and revert this CL. For more information, see [] Base CL: 197331037 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=197503952 --- java/google/registry/proxy/BUILD | 1 - java/google/registry/proxy/ProxyModule.java | 34 +++++++++------------ java/google/registry/repositories.bzl | 18 +++++++++++ 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/java/google/registry/proxy/BUILD b/java/google/registry/proxy/BUILD index c6d3969d5..79719ae3e 100644 --- a/java/google/registry/proxy/BUILD +++ b/java/google/registry/proxy/BUILD @@ -18,7 +18,6 @@ java_library( "config/*.yaml", ]), deps = [ - "//java/com/google/common/logging:formatting_logger", "//java/google/registry/config", "//java/google/registry/util", "@com_beust_jcommander", diff --git a/java/google/registry/proxy/ProxyModule.java b/java/google/registry/proxy/ProxyModule.java index fa5a7a07a..1b6ef6027 100644 --- a/java/google/registry/proxy/ProxyModule.java +++ b/java/google/registry/proxy/ProxyModule.java @@ -28,7 +28,7 @@ import com.google.api.services.cloudkms.v1.model.DecryptRequest; import com.google.api.services.storage.Storage; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; -import com.google.common.logging.FormattingLogger; +import com.google.common.flogger.LoggerConfig; import com.google.monitoring.metrics.MetricReporter; import dagger.Component; import dagger.Module; @@ -56,7 +56,6 @@ import java.util.function.Supplier; import java.util.logging.ConsoleHandler; import java.util.logging.Handler; import java.util.logging.Level; -import java.util.logging.Logger; import javax.inject.Named; import javax.inject.Singleton; @@ -67,8 +66,6 @@ import javax.inject.Singleton; @Module public class ProxyModule { - private static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass(); - @Parameter(names = "--whois", description = "Port for WHOIS") private Integer whoisPort; @@ -96,8 +93,8 @@ public class ProxyModule { */ private void configureLogging() { // Remove all other handlers on the root logger to avoid double logging. - Logger rootLogger = Logger.getLogger(""); - Arrays.asList(rootLogger.getHandlers()).forEach(rootLogger::removeHandler); + LoggerConfig rootLoggerConfig = LoggerConfig.getConfig(""); + Arrays.asList(rootLoggerConfig.getHandlers()).forEach(rootLoggerConfig::removeHandler); // If running on in a non-local environment, use GCP JSON formatter. Handler rootHandler = new ConsoleHandler(); @@ -105,7 +102,7 @@ public class ProxyModule { if (env != Environment.LOCAL) { rootHandler.setFormatter(new GcpJsonFormatter()); } - rootLogger.addHandler(rootHandler); + rootLoggerConfig.addHandler(rootHandler); } /** @@ -170,7 +167,7 @@ public class ProxyModule { @Provides LoggingHandler provideLoggingHandler() { if (log) { - Logger.getLogger("io.netty.handler.logging.LoggingHandler").setLevel(Level.FINE); + LoggerConfig.getConfig(io.netty.handler.logging.LoggingHandler.class).setLevel(Level.FINE); } return new LoggingHandler(LogLevel.DEBUG); } @@ -185,8 +182,7 @@ public class ProxyModule { } return credential; } catch (IOException e) { - logger.severe(e, "Unable to obtain OAuth2 credential."); - throw new RuntimeException(e); + throw new RuntimeException("Unable to obtain OAuth2 credential.", e); } } @@ -201,8 +197,7 @@ public class ProxyModule { try { credential.refreshToken(); } catch (IOException e) { - logger.severe(e, "Cannot refresh access token."); - throw new RuntimeException(e); + throw new RuntimeException("Cannot refresh access token.", e); } return credential.getAccessToken(); }, @@ -240,12 +235,11 @@ public class ProxyModule { .executeMediaAndDownloadTo(outputStream); return outputStream.toByteArray(); } catch (IOException e) { - logger.severefmt( - e, - "Error reading encrypted PEM file %s from GCS bucket %s", - config.gcs.sslPemFilename, - config.gcs.bucket); - throw new RuntimeException(e); + throw new RuntimeException( + String.format( + "Error reading encrypted PEM file %s from GCS bucket %s", + config.gcs.sslPemFilename, config.gcs.bucket), + e); } } @@ -269,8 +263,8 @@ public class ProxyModule { .execute() .decodePlaintext(); } catch (IOException e) { - logger.severefmt(e, "PEM file decryption failed using CryptoKey: %s", cryptoKeyUrl); - throw new RuntimeException(e); + throw new RuntimeException( + String.format("PEM file decryption failed using CryptoKey: %s", cryptoKeyUrl), e); } } diff --git a/java/google/registry/repositories.bzl b/java/google/registry/repositories.bzl index 6ab8a98c6..eb3ac5454 100644 --- a/java/google/registry/repositories.bzl +++ b/java/google/registry/repositories.bzl @@ -68,6 +68,7 @@ def domain_registry_repositories( omit_com_google_errorprone_error_prone_annotations=False, omit_com_google_errorprone_javac_shaded=False, omit_com_google_flogger=False, + omit_com_google_flogger_system_backend=False, omit_com_google_gdata_core=False, omit_com_google_googlejavaformat_google_java_format=False, omit_com_google_guava=False, @@ -252,6 +253,8 @@ def domain_registry_repositories( com_google_errorprone_javac_shaded() if not omit_com_google_flogger: com_google_flogger() + if not omit_com_google_flogger_system_backend: + com_google_flogger_system_backend() if not omit_com_google_gdata_core: com_google_gdata_core() if not omit_com_google_googlejavaformat_google_java_format: @@ -1268,6 +1271,21 @@ def com_google_flogger(): deps = ["@com_google_code_findbugs_jsr305"], ) +def com_google_flogger_system_backend(): + java_import_external( + name = "com_google_flogger_system_backend", + licenses = ["notice"], # Apache 2.0 + jar_sha256 = "7b5c1816fb174a768e7a6a09800feb53a6a094af7cbc5d3a9663b2735e97074d", + jar_urls = [ + "http://repo1.maven.org/maven2/com/google/flogger/flogger-system-backend/0.1/flogger-system-backend-0.1.jar", + "http://maven.ibiblio.org/maven2/com/google/flogger/flogger-system-backend/0.1/flogger-system-backend-0.1.jar", + ], + deps = [ + "@com_google_flogger", + "@com_google_code_findbugs_jsr305", + ], + ) + def com_google_gdata_core(): java_import_external( name = "com_google_gdata_core",