This is an automated email from the ASF dual-hosted git repository. wuzhiguo pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push: new 5fc20b85f7 AMBARI-25124: ambari-audit.log entries span multiple lines (#3396) 5fc20b85f7 is described below commit 5fc20b85f72097ab30b04f39d482e85a8cf26534 Author: Zhiguo Wu <wuzhi...@apache.org> AuthorDate: Sun Oct 16 16:15:05 2022 +0800 AMBARI-25124: ambari-audit.log entries span multiple lines (#3396) --- .../ambari/server/audit/event/LoginAuditEvent.java | 7 +++---- .../AddRepositoryVersionRequestAuditEvent.java | 9 +++------ .../ChangeRepositoryVersionRequestAuditEvent.java | 10 ++++------ .../ClusterPrivilegeChangeRequestAuditEvent.java | 18 ++++++++++-------- .../ViewPrivilegeChangeRequestAuditEvent.java | 16 ++++++++-------- .../ambari/server/audit/LoginAuditEventTest.java | 12 ++++++------ .../request/creator/PrivilegeEventCreatorTest.java | 12 ++++++------ .../creator/RepositoryVersionEventCreatorTest.java | 20 ++++++++++---------- .../creator/ViewPrivilegeEventCreatorTest.java | 12 ++++++------ 9 files changed, 56 insertions(+), 60 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java index 9be216ad3b..f9523c10ad 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java @@ -62,15 +62,14 @@ public class LoginAuditEvent extends AbstractUserAuditEvent { protected void buildAuditMessage(StringBuilder builder) { super.buildAuditMessage(builder); - builder.append(", Operation(User login), Roles(").append(System.lineSeparator()); + builder.append(", Operation(User login), Roles("); if (roles != null && !roles.isEmpty()) { List<String> lines = new LinkedList<>(); for (Map.Entry<String, List<String>> entry : roles.entrySet()) { - lines.add(" " + entry.getKey() + ": " + StringUtils.join(entry.getValue(), ", ")); + lines.add(entry.getKey() + ": " + StringUtils.join(entry.getValue(), ", ")); } - builder.append(StringUtils.join(lines, System.lineSeparator())); - builder.append(System.lineSeparator()); + builder.append(StringUtils.join(lines, ",")); } builder.append("), Status(") .append(reasonOfFailure == null ? "Success" : "Failed"); diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java index 82207d21c7..fb85ddc097 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java @@ -88,18 +88,15 @@ public class AddRepositoryVersionRequestAuditEvent extends RequestAuditEvent { .append(repoVersion) .append("), Repositories("); - if (!repos.isEmpty()) { - builder.append(System.lineSeparator()); - } for (Map.Entry<String, List<Map<String, String>>> repo : repos.entrySet()) { builder.append("Operating system: ").append(repo.getKey()); - builder.append(System.lineSeparator()); + builder.append("("); for (Map<String, String> properties : repo.getValue()) { - builder.append(" Repository ID(").append(properties.get("repo_id")); + builder.append("Repository ID(").append(properties.get("repo_id")); builder.append("), Repository name(").append(properties.get("repo_name")); builder.append("), Base url(").append(properties.get("base_url")).append(")"); - builder.append(System.lineSeparator()); + builder.append(")"); } } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java index fdba4eb013..83e36140b5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java @@ -89,18 +89,16 @@ public class ChangeRepositoryVersionRequestAuditEvent extends RequestAuditEvent .append(repoVersion) .append("), Repositories("); - if (!repos.isEmpty()) { - builder.append(System.lineSeparator()); - } + for (Map.Entry<String, List<Map<String, String>>> repo : repos.entrySet()) { builder.append("Operating system: ").append(repo.getKey()); - builder.append(System.lineSeparator()); + builder.append("("); for (Map<String, String> properties : repo.getValue()) { - builder.append(" Repository ID(").append(properties.get("repo_id")); + builder.append("Repository ID(").append(properties.get("repo_id")); builder.append("), Repository name(").append(properties.get("repo_name")); builder.append("), Base url(").append(properties.get("base_url")).append(")"); - builder.append(System.lineSeparator()); + builder.append(")"); } } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java index 5b2ceca8bb..a49215fef8 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java @@ -80,28 +80,30 @@ public class ClusterPrivilegeChangeRequestAuditEvent extends RequestAuditEvent { roleSet.addAll(roles.keySet()); builder.append(", Roles("); - if (!users.isEmpty() || !groups.isEmpty()|| !roles.isEmpty()) { - builder.append(System.lineSeparator()); - } + List<String> lines = new LinkedList<>(); for (String role : roleSet) { - lines.add(role + ": "); + List<String> tmpLines = new LinkedList<>(); + lines.add(role + ": ["); if (users.get(role) != null && !users.get(role).isEmpty()) { - lines.add(" Users: " + StringUtils.join(users.get(role), ", ")); + tmpLines.add("Users: " + StringUtils.join(users.get(role), ", ")); } if (groups.get(role) != null && !groups.get(role).isEmpty()) { - lines.add(" Groups: " + StringUtils.join(groups.get(role), ", ")); + tmpLines.add("Groups: " + StringUtils.join(groups.get(role), ", ")); } if (roles.get(role) != null && !roles.get(role).isEmpty()) { - lines.add(" Roles: " + StringUtils.join(roles.get(role), ", ")); + tmpLines.add("Roles: " + StringUtils.join(roles.get(role), ", ")); } + lines.add(StringUtils.join(tmpLines, ";")); + lines.add("] "); } - builder.append(StringUtils.join(lines, System.lineSeparator())); + builder.append(StringUtils.join(lines, "")); builder.append(")"); + } public ClusterPrivilegeChangeRequestAuditEventBuilder withUsers(Map<String, List<String>> users) { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java index 2fdb3ef436..7aaf928864 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java @@ -101,26 +101,26 @@ public class ViewPrivilegeChangeRequestAuditEvent extends RequestAuditEvent { roleSet.addAll(roles.keySet()); builder.append(", Permissions("); - if (!users.isEmpty() || !groups.isEmpty() || !roles.isEmpty()) { - builder.append(System.lineSeparator()); - } List<String> lines = new LinkedList<>(); for (String role : roleSet) { - lines.add(role + ": "); + List<String> tmpLines = new LinkedList<>(); + lines.add(role + ": ["); if (users.get(role) != null && !users.get(role).isEmpty()) { - lines.add(" Users: " + StringUtils.join(users.get(role), ", ")); + tmpLines.add("Users: " + StringUtils.join(users.get(role), ", ")); } if (groups.get(role) != null && !groups.get(role).isEmpty()) { - lines.add(" Groups: " + StringUtils.join(groups.get(role), ", ")); + tmpLines.add("Groups: " + StringUtils.join(groups.get(role), ", ")); } if (roles.get(role) != null && !roles.get(role).isEmpty()) { - lines.add(" Roles: " + StringUtils.join(roles.get(role), ", ")); + tmpLines.add("Roles: " + StringUtils.join(roles.get(role), ", ")); } + lines.add(StringUtils.join(tmpLines, ";")); + lines.add("] "); } - builder.append(StringUtils.join(lines, System.lineSeparator())); + builder.append(StringUtils.join(lines, "")); builder.append(")"); } diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java index b2ab7cc0cd..39b96ae224 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java @@ -55,7 +55,7 @@ public class LoginAuditEventTest { // When String actualAuditMessage = evnt.getAuditMessage(); - String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator(); + String roleMessage = "a: r1, r2, r3"; // Then String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Success)", @@ -74,7 +74,7 @@ public class LoginAuditEventTest { // When actualAuditMessage = evnt.getAuditMessage(); - roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator(); + roleMessage = "a: r1, r2, r3"; // Then expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Success)", @@ -109,7 +109,7 @@ public class LoginAuditEventTest { // When String actualAuditMessage = evnt.getAuditMessage(); - String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator(); + String roleMessage = "a: r1, r2, r3" ; // Then String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(%d)", @@ -130,7 +130,7 @@ public class LoginAuditEventTest { // When actualAuditMessage = evnt.getAuditMessage(); - roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator(); + roleMessage = "a: r1, r2, r3" ; // Then expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(%d)", @@ -164,7 +164,7 @@ public class LoginAuditEventTest { // When String actualAuditMessage = evnt.getAuditMessage(); - String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator(); + String roleMessage = "a: r1, r2, r3" ; // Then String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(UNKNOWN USER)", @@ -185,7 +185,7 @@ public class LoginAuditEventTest { // When actualAuditMessage = evnt.getAuditMessage(); - roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator(); + roleMessage = "a: r1, r2, r3"; // Then expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(UNKNOWN USER)", diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java index 84d6dc9772..41c291a92b 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java @@ -96,12 +96,12 @@ public class PrivilegeEventCreatorTest extends AuditEventCreatorTestBase{ AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result); String actual = event.getAuditMessage(); - String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(\n" + - "Permission1: \n" + - " Users: " + userName + "\n" + - " Groups: testgroup\n" + - "Permission2: \n" + - " Users: " + userName + "2)"; + String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(" + + "Permission1: [" + + "Users: " + userName + ";" + + "Groups: testgroup]" + + " Permission2: [" + + "Users: " + userName + "2] )"; Assert.assertTrue("Class mismatch", event instanceof ClusterPrivilegeChangeRequestAuditEvent); Assert.assertEquals(expected, actual); diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java index e4d1d4711c..38c88b5979 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java @@ -59,11 +59,11 @@ public class RepositoryVersionEventCreatorTest extends AuditEventCreatorTestBase AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result); String actual = event.getAuditMessage(); - String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version addition), RequestType(POST), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(\n" + - "Operating system: redhat6\n" + - " Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com)\n" + - "Operating system: redhat7\n" + - " Repository ID(1), Repository name(MyRepo), Base url(http://example.com)\n" + + String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version addition), RequestType(POST), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(" + + "Operating system: redhat6(" + + "Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com))" + + "Operating system: redhat7(" + + "Repository ID(1), Repository name(MyRepo), Base url(http://example.com))" + ")"; Assert.assertTrue("Class mismatch", event instanceof AddRepositoryVersionRequestAuditEvent); @@ -89,11 +89,11 @@ public class RepositoryVersionEventCreatorTest extends AuditEventCreatorTestBase AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result); String actual = event.getAuditMessage(); - String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(\n" + - "Operating system: redhat6\n" + - " Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com)\n" + - "Operating system: redhat7\n" + - " Repository ID(1), Repository name(MyRepo), Base url(http://example.com)\n" + + String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(" + + "Operating system: redhat6(" + + "Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com))" + + "Operating system: redhat7(" + + "Repository ID(1), Repository name(MyRepo), Base url(http://example.com))" + ")"; Assert.assertTrue("Class mismatch", event instanceof ChangeRepositoryVersionRequestAuditEvent); diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java index 121513931f..a2cf86fa2b 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java @@ -74,12 +74,12 @@ public class ViewPrivilegeEventCreatorTest extends AuditEventCreatorTestBase{ AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result); String actual = event.getAuditMessage(); - String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(\n" + - "Permission1: \n" + - " Users: testuser\n" + - " Groups: testgroup\n" + - "Permission2: \n" + - " Users: testuser2)"; + String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(" + + "Permission1: [" + + "Users: testuser;" + + "Groups: testgroup]" + + " Permission2: [" + + "Users: testuser2] )"; Assert.assertTrue("Class mismatch", event instanceof ViewPrivilegeChangeRequestAuditEvent); Assert.assertEquals(expected, actual); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@ambari.apache.org For additional commands, e-mail: commits-h...@ambari.apache.org