Merge pull request #14930 from hmdrzsharifi/BAEL-6912

Bael 6912: Support JsonEncoder in Logback
This commit is contained in:
davidmartinezbarua 2023-10-14 15:21:58 -03:00 committed by GitHub
commit b7696979c2
2 changed files with 19 additions and 2 deletions

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
public class JSONLayoutIntegrationTest {
private static Logger logger;
private static Logger jsonlogger;
private ByteArrayOutputStream consoleOutput = new ByteArrayOutputStream();
private PrintStream ps = new PrintStream(consoleOutput);
@ -23,16 +24,24 @@ public class JSONLayoutIntegrationTest {
public void setUp() {
// Redirect console output to our stream
System.setOut(ps);
logger = LoggerFactory.getLogger("jsonLogger");
}
@Test
public void whenLogLayoutInJSON_thenOutputIsCorrectJSON() {
public void givenJsonLayout_whenLogInJSON_thenOutputIsCorrectJSON() {
logger = LoggerFactory.getLogger("jsonLogger");
logger.debug("Debug message");
String currentLog = consoleOutput.toString();
assertTrue(!currentLog.isEmpty() && isValidJSON(currentLog));
}
@Test
public void givenJsonEncoder_whenLogInJSON_thenOutputIsCorrectJSON() {
jsonlogger = LoggerFactory.getLogger("jsonEncoderLogger");
jsonlogger.debug("Debug message");
String currentLog = consoleOutput.toString();
assertTrue(!currentLog.isEmpty() && isValidJSON(currentLog));
}
public static boolean isValidJSON(String jsonInString) {
try {
final ObjectMapper mapper = new ObjectMapper();

View File

@ -19,10 +19,18 @@
</layout>
</appender>
<appender name="jsonEncoder" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.JsonEncoder"/>
</appender>
<logger name="jsonLogger" level="TRACE">
<appender-ref ref="json" />
</logger>
<logger name="jsonEncoderLogger" level="TRACE">
<appender-ref ref="jsonEncoder" />
</logger>
<root level="debug">
<appender-ref ref="map" />
<appender-ref ref="badMap" />