Skip to content

Commit 0c8f4d2

Browse files
cmccarthyIrlCraig Mc Carthy
and
Craig Mc Carthy
authored
Updated Logback
Co-authored-by: Craig Mc Carthy <[email protected]>
1 parent 55190a4 commit 0c8f4d2

File tree

4 files changed

+33
-23
lines changed

4 files changed

+33
-23
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.cmccarthy.common.utils;
2+
3+
import ch.qos.logback.classic.spi.ILoggingEvent;
4+
import ch.qos.logback.core.boolex.EventEvaluatorBase;
5+
6+
public class CustomEventEvaluator extends EventEvaluatorBase<ILoggingEvent> {
7+
8+
@Override
9+
public boolean evaluate(ILoggingEvent event) {
10+
// Check if logger name contains 'com.cmccarthy'
11+
return event.getLoggerName().contains("com.cmccarthy");
12+
}
13+
}

common/src/main/java/com/cmccarthy/common/utils/LogManager.java

+18-20
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44
import ch.qos.logback.classic.Logger;
55
import ch.qos.logback.classic.LoggerContext;
66
import ch.qos.logback.classic.PatternLayout;
7-
import ch.qos.logback.classic.boolex.JaninoEventEvaluator;
87
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
98
import ch.qos.logback.classic.spi.ILoggingEvent;
109
import ch.qos.logback.core.ConsoleAppender;
1110
import ch.qos.logback.core.FileAppender;
1211
import ch.qos.logback.core.filter.EvaluatorFilter;
1312
import ch.qos.logback.core.pattern.color.ANSIConstants;
1413
import ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase;
15-
import ch.qos.logback.core.status.NopStatusListener;
1614
import org.slf4j.LoggerFactory;
1715
import org.springframework.stereotype.Service;
1816

@@ -23,9 +21,9 @@ public class LogManager extends ForegroundCompositeConverterBase<ILoggingEvent>
2321
protected String getForegroundColorCode(ILoggingEvent event) {
2422
Level level = event.getLevel();
2523
return switch (level.toInt()) {
26-
case Level.ERROR_INT -> ANSIConstants.BOLD + ANSIConstants.RED_FG; // same as default color scheme
27-
case Level.WARN_INT -> ANSIConstants.RED_FG;// same as default color scheme
28-
case Level.INFO_INT -> ANSIConstants.CYAN_FG; // use CYAN instead of BLUE
24+
case Level.ERROR_INT -> ANSIConstants.BOLD + ANSIConstants.RED_FG;
25+
case Level.WARN_INT -> ANSIConstants.RED_FG;
26+
case Level.INFO_INT -> ANSIConstants.CYAN_FG;
2927
default -> ANSIConstants.DEFAULT_FG;
3028
};
3129
}
@@ -34,22 +32,21 @@ protected String getForegroundColorCode(ILoggingEvent event) {
3432

3533
public void createNewLogger(String className) {
3634
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
37-
final NopStatusListener nopStatusListener = new NopStatusListener();
38-
loggerContext.getStatusManager().add(nopStatusListener);
3935

40-
final JaninoEventEvaluator janinoEventEvaluator = new JaninoEventEvaluator();
41-
janinoEventEvaluator.setExpression("logger.contains('com.cmccarthy')");
42-
janinoEventEvaluator.setContext(loggerContext);
43-
final EvaluatorFilter<ILoggingEvent> evaluatorFilter = new EvaluatorFilter<>();
44-
evaluatorFilter.setEvaluator(janinoEventEvaluator);
36+
// Use the custom evaluator instead of JaninoEventEvaluator
37+
CustomEventEvaluator customEventEvaluator = new CustomEventEvaluator();
38+
customEventEvaluator.setContext(loggerContext);
4539

46-
final FileAppender<ILoggingEvent> fileAppender = fileAppender(className, loggerContext, evaluatorFilter);
40+
EvaluatorFilter<ILoggingEvent> evaluatorFilter = new EvaluatorFilter<>();
41+
evaluatorFilter.setEvaluator(customEventEvaluator);
42+
43+
FileAppender<ILoggingEvent> fileAppender = fileAppender(className, loggerContext, evaluatorFilter);
4744
fileAppender.start();
4845

49-
final ConsoleAppender<ILoggingEvent> consoleAppender = consoleAppender(loggerContext, evaluatorFilter);
46+
ConsoleAppender<ILoggingEvent> consoleAppender = consoleAppender(loggerContext, evaluatorFilter);
5047
consoleAppender.start();
5148

52-
final Logger logger = (Logger) LoggerFactory.getLogger(className);
49+
Logger logger = (Logger) LoggerFactory.getLogger(className);
5350
logger.addAppender(fileAppender);
5451
logger.addAppender(consoleAppender);
5552

@@ -59,12 +56,12 @@ public void createNewLogger(String className) {
5956
}
6057

6158
private FileAppender<ILoggingEvent> fileAppender(String className, LoggerContext loggerContext, EvaluatorFilter<ILoggingEvent> evaluatorFilter) {
62-
final PatternLayout filePattern = new PatternLayout();
59+
PatternLayout filePattern = new PatternLayout();
6360
filePattern.setContext(loggerContext);
6461
filePattern.setPattern("[%d{ISO8601}] %-5level [%logger{100}]: %msg%n%throwable");
6562
filePattern.start();
6663

67-
final PatternLayoutEncoder encoder = new PatternLayoutEncoder();
64+
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
6865
encoder.setPattern(filePattern.getPattern());
6966
encoder.setContext(loggerContext);
7067
encoder.start();
@@ -80,20 +77,21 @@ private FileAppender<ILoggingEvent> fileAppender(String className, LoggerContext
8077
}
8178

8279
private ConsoleAppender<ILoggingEvent> consoleAppender(LoggerContext loggerContext, EvaluatorFilter<ILoggingEvent> evaluatorFilter) {
83-
final PatternLayout consolePattern = new PatternLayout();
80+
PatternLayout consolePattern = new PatternLayout();
8481
consolePattern.setContext(loggerContext);
8582
consolePattern.setPattern("%blue([%d{ISO8601}]) %highlight(%colourPicker(%-5level)) %blue([%logger{100}]:) %colourPicker(%msg%n%throwable)");
8683
consolePattern.start();
8784

88-
final PatternLayoutEncoder consoleEncoder = new PatternLayoutEncoder();
85+
PatternLayoutEncoder consoleEncoder = new PatternLayoutEncoder();
8986
consoleEncoder.setPattern(consolePattern.getPattern());
9087
consoleEncoder.setContext(loggerContext);
9188
consoleEncoder.start();
9289

93-
final ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>();
90+
ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>();
9491
consoleAppender.setEncoder(consoleEncoder);
9592
consoleAppender.setContext(loggerContext);
9693
consoleAppender.addFilter(evaluatorFilter);
94+
9795
return consoleAppender;
9896
}
9997

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
<cucumber-java.version>7.15.0</cucumber-java.version>
6161
<cucumber-spring.version>7.15.0</cucumber-spring.version>
6262
<cucumber-testng.version>7.15.0</cucumber-testng.version>
63-
<logback.version>1.5.0</logback.version>
63+
<logback.version>1.5.13</logback.version>
6464
<gherkin.version>28.0.0</gherkin.version>
6565
<commons-io.version>2.15.1</commons-io.version>
6666
<assertj-core.version>3.23.1</assertj-core.version>

wikipedia/src/test/java/com/cmccarthy/ui/utils/DriverManager.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ public void createDriver() throws IOException {
6262
public void setLocalWebDriver() throws IOException {
6363
switch (applicationProperties.getBrowser()) {
6464
case ("chrome") -> {
65-
// String path = Arrays.toString(this.environment.getActiveProfiles()).contains("headless-github") ? "/usr/local/share/chromedriver-linux64" : Constants.DRIVER_DIRECTORY;
66-
6765
String path = Arrays.toString(this.environment.getActiveProfiles()).contains("headless-github") ?
6866
System.getProperty("user.dir") + "/src/test/resources/drivers" : Constants.DRIVER_DIRECTORY;
6967
ChromeDriverService src = new ChromeDriverService.Builder()
@@ -77,6 +75,7 @@ public void setLocalWebDriver() throws IOException {
7775
options.addArguments("--disable-logging");
7876
options.addArguments("--no-sandbox");
7977
options.addArguments("--disable-dev-shm-usage");
78+
options.addArguments("--start-maximized");
8079
options.addArguments("--headless=new");
8180
driverThreadLocal.set(new ChromeDriver(src, options));
8281
}

0 commit comments

Comments
 (0)