Skip to content

Commit 4c242fc

Browse files
authored
Merge pull request awslabs#110 from Stephen-Bao/ecs-loggroupname-fix
Added logic for replacing colon in log group name and unit test
2 parents a49c96e + 60dd16b commit 4c242fc

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/main/java/software/amazon/cloudwatchlogs/emf/environment/AgentBasedEnvironment.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,15 @@ public String getName() {
4545

4646
@Override
4747
public String getLogGroupName() {
48-
return config.getLogGroupName().orElse(getName() + "-metrics");
48+
if (config.getLogGroupName().isPresent()) {
49+
return config.getLogGroupName().get();
50+
} else {
51+
String serviceName = getName();
52+
// for ECS services, replace "repo:tag" format with "repo-tag" to satisfy
53+
// log group regex
54+
serviceName = serviceName.replaceAll(":", "-");
55+
return serviceName + "-metrics";
56+
}
4957
}
5058

5159
public String getLogStreamName() {

src/test/java/software/amazon/cloudwatchlogs/emf/environment/ECSEnvironmentTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,14 @@ public void testGetLogGroupNameReturnNonEmpty() {
150150
assertEquals(environment.getLogGroupName(), Constants.UNKNOWN + "-metrics");
151151
}
152152

153+
@Test
154+
public void testGetLogGroupNameReplaceColon() {
155+
String serviceName = "testRepo:testTag";
156+
when(config.getServiceName()).thenReturn(Optional.of(serviceName));
157+
158+
assertEquals(environment.getLogGroupName(), "testRepo-testTag-metrics");
159+
}
160+
153161
@Test
154162
public void testConfigureContext() throws UnknownHostException {
155163
PowerMockito.mockStatic(SystemWrapper.class);

0 commit comments

Comments
 (0)