Skip to content

Commit 3919d63

Browse files
authored
logging: don't hard code config string (#1728)
This PR turns the hard coded config string into a map and a rendering function. This doesn't do anything straightaway, but will simplify #1721 .
1 parent 6d844c9 commit 3919d63

File tree

1 file changed

+28
-25
lines changed

1 file changed

+28
-25
lines changed

google-cloud-logging/src/test/java/com/google/cloud/logging/LoggingHandlerTest.java

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.io.ByteArrayInputStream;
3131
import java.io.IOException;
3232
import java.util.Collections;
33+
import java.util.Map;
3334
import java.util.logging.ErrorManager;
3435
import java.util.logging.Filter;
3536
import java.util.logging.Formatter;
@@ -135,33 +136,35 @@ public class LoggingHandlerTest {
135136
.addLabel("levelValue", String.valueOf(LoggingLevel.EMERGENCY.intValue()))
136137
.setTimestamp(123456789L)
137138
.build();
138-
private static final String CONFIG_FILE_STRING =
139-
(new StringBuilder())
140-
.append("com.google.cloud.logging.LoggingHandler.log=testLogName")
141-
.append(System.lineSeparator())
142-
.append("com.google.cloud.logging.LoggingHandler.level=ALL")
143-
.append(System.lineSeparator())
144-
.append(
145-
"com.google.cloud.logging.LoggingHandler.filter=com.google.cloud.logging.LoggingHandlerTest$TestFilter")
146-
.append(System.lineSeparator())
147-
.append(
148-
"com.google.cloud.logging.LoggingHandler.formatter=com.google.cloud.logging.LoggingHandlerTest$TestFormatter")
149-
.append(System.lineSeparator())
150-
.append("com.google.cloud.logging.LoggingHandler.flushSize=2")
151-
.append(System.lineSeparator())
152-
.append("com.google.cloud.logging.LoggingHandler.flushLevel=CRITICAL")
153-
.append(System.lineSeparator())
154-
.append(
155-
"com.google.cloud.logging.LoggingHandler.enhancers=com.google.cloud.logging.LoggingHandlerTest$TestEnhancer")
156-
.append(System.lineSeparator())
157-
.append("com.google.cloud.logging.LoggingHandler.resourceType=testResourceType")
158-
.append(System.lineSeparator())
159-
.append("com.google.cloud.logging.LoggingHandler.synchronicity=SYNC")
160-
.append(System.lineSeparator())
161-
.toString();
139+
private static final String CONFIG_NAMESPACE = "com.google.cloud.logging.LoggingHandler";
140+
private static final ImmutableMap<String, String> CONFIG_MAP =
141+
ImmutableMap.<String, String>builder()
142+
.put("log", "testLogName")
143+
.put("level", "ALL")
144+
.put("filter", "com.google.cloud.logging.LoggingHandlerTest$TestFilter")
145+
.put("formatter", "com.google.cloud.logging.LoggingHandlerTest$TestFormatter")
146+
.put("flushSize", "2")
147+
.put("flushLevel", "CRITICAL")
148+
.put("enhancers", "com.google.cloud.logging.LoggingHandlerTest$TestEnhancer")
149+
.put("resourceType", "testResourceType")
150+
.put("synchronicity", "SYNC")
151+
.build();
162152
private static final WriteOption[] DEFAULT_OPTIONS =
163153
new WriteOption[] {WriteOption.logName(LOG_NAME), WriteOption.resource(DEFAULT_RESOURCE)};
164154

155+
private static byte[] renderConfig(Map<String, String> config) {
156+
StringBuilder str = new StringBuilder();
157+
for (Map.Entry<String, String> entry : config.entrySet()) {
158+
str.append(CONFIG_NAMESPACE)
159+
.append('.')
160+
.append(entry.getKey())
161+
.append('=')
162+
.append(entry.getValue())
163+
.append(System.lineSeparator());
164+
}
165+
return str.toString().getBytes();
166+
}
167+
165168
private Logging logging;
166169
private LoggingOptions options;
167170

@@ -454,7 +457,7 @@ public void testPropertiesFile() throws IOException, InterruptedException {
454457
"testResourceType", ImmutableMap.of("project_id", PROJECT, "enhanced", "true"))));
455458
EasyMock.replay(options, logging);
456459
LogManager.getLogManager()
457-
.readConfiguration(new ByteArrayInputStream(CONFIG_FILE_STRING.getBytes()));
460+
.readConfiguration(new ByteArrayInputStream(renderConfig(CONFIG_MAP)));
458461
LoggingHandler handler = new LoggingHandler(null, options);
459462
LogRecord record = new LogRecord(Level.FINEST, MESSAGE);
460463
record.setMillis(123456789L);

0 commit comments

Comments
 (0)