From 76f5a71727034926ce69e88e965a0c7c0376f4db Mon Sep 17 00:00:00 2001 From: Jon Chambers <63609320+jon-signal@users.noreply.github.com> Date: Thu, 3 Jun 2021 11:24:25 -0400 Subject: [PATCH] Include server version in logging tags --- service/pom.xml | 13 +++++++++ .../textsecuregcm/WhisperServerVersion.java | 15 ++++++++++ .../textsecuregcm/WhisperServerService.java | 2 ++ .../LogstashTcpSocketAppenderFactory.java | 4 ++- .../workers/ServerVersionCommand.java | 28 +++++++++++++++++++ 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 service/src/main/java-templates/org/whispersystems/textsecuregcm/WhisperServerVersion.java create mode 100644 service/src/main/java/org/whispersystems/textsecuregcm/workers/ServerVersionCommand.java diff --git a/service/pom.xml b/service/pom.xml index 4e41f7d06..0dfbeaa5a 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -518,6 +518,19 @@ + + org.codehaus.mojo + templating-maven-plugin + 1.0.0 + + + filter-src + + filter-sources + + + + diff --git a/service/src/main/java-templates/org/whispersystems/textsecuregcm/WhisperServerVersion.java b/service/src/main/java-templates/org/whispersystems/textsecuregcm/WhisperServerVersion.java new file mode 100644 index 000000000..fa4c40bd9 --- /dev/null +++ b/service/src/main/java-templates/org/whispersystems/textsecuregcm/WhisperServerVersion.java @@ -0,0 +1,15 @@ +/* + * Copyright 2013-2021 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.whispersystems.textsecuregcm; + +public class WhisperServerVersion { + + private static final String VERSION = "${project.version}"; + + public static String getServerVersion() { + return VERSION; + } +} diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index 357cde6fd..6ce0718e0 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -197,6 +197,7 @@ import org.whispersystems.textsecuregcm.workers.CertificateCommand; import org.whispersystems.textsecuregcm.workers.DeleteUserCommand; import org.whispersystems.textsecuregcm.workers.GetRedisCommandStatsCommand; import org.whispersystems.textsecuregcm.workers.GetRedisSlowlogCommand; +import org.whispersystems.textsecuregcm.workers.ServerVersionCommand; import org.whispersystems.textsecuregcm.workers.SetCrawlerAccelerationTask; import org.whispersystems.textsecuregcm.workers.SetRequestLoggingEnabledTask; import org.whispersystems.textsecuregcm.workers.VacuumCommand; @@ -214,6 +215,7 @@ public class WhisperServerService extends Application("accountdb", "accountsdb.xml") { @Override diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/LogstashTcpSocketAppenderFactory.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/LogstashTcpSocketAppenderFactory.java index 568fc05c1..95fc86e13 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/LogstashTcpSocketAppenderFactory.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/LogstashTcpSocketAppenderFactory.java @@ -26,6 +26,7 @@ import java.time.Duration; import javax.validation.constraints.NotEmpty; import net.logstash.logback.appender.LogstashTcpSocketAppender; import net.logstash.logback.encoder.LogstashEncoder; +import org.whispersystems.textsecuregcm.WhisperServerVersion; @JsonTypeName("logstashtcpsocket") public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory { @@ -83,7 +84,8 @@ public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory prefix = new LayoutWrappingEncoder<>(); final PatternLayout layout = new PatternLayout(); diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/workers/ServerVersionCommand.java b/service/src/main/java/org/whispersystems/textsecuregcm/workers/ServerVersionCommand.java new file mode 100644 index 000000000..efe12a668 --- /dev/null +++ b/service/src/main/java/org/whispersystems/textsecuregcm/workers/ServerVersionCommand.java @@ -0,0 +1,28 @@ +/* + * Copyright 2013-2021 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.whispersystems.textsecuregcm.workers; + +import io.dropwizard.cli.Command; +import io.dropwizard.setup.Bootstrap; +import net.sourceforge.argparse4j.inf.Namespace; +import net.sourceforge.argparse4j.inf.Subparser; +import org.whispersystems.textsecuregcm.WhisperServerVersion; + +public class ServerVersionCommand extends Command { + + public ServerVersionCommand() { + super("version", "Print the version of the service"); + } + + @Override + public void configure(final Subparser subparser) { + } + + @Override + public void run(final Bootstrap bootstrap, final Namespace namespace) throws Exception { + System.out.println(WhisperServerVersion.getServerVersion()); + } +}