simplified log config using new ThreadFilter

This commit is contained in:
Stephan Richter
2021-03-18 23:33:04 +01:00
parent e90724b35e
commit 9172b60329
3 changed files with 34 additions and 12 deletions

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.srsoftware</groupId>
<artifactId>web4rail</artifactId>
<version>1.4.1</version>
<version>1.4.2</version>
<name>Web4Rail</name>
<packaging>jar</packaging>
<description>Java Model Railway Control</description>
@@ -58,6 +58,11 @@
<artifactId>json</artifactId>
<version>20200518</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
<build>

View File

@@ -7,8 +7,9 @@
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5}: %msg%n
</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<filter class="de.srsoftware.web4rail.ThreadFilter">
<level>DEBUG</level>
<keywords>Brake, Contact, Feed, Route, Train</keywords>
</filter>
</appender>
@@ -29,15 +30,6 @@
<appender-ref ref="STDOUT" />
</root>
<logger name="de.srsoftware.web4rail" level="INFO" />
<logger name="de.srsoftware.web4rail.Application" level="DEBUG" />
<logger name="de.srsoftware.web4rail.Route" level="DEBUG" />
<logger name="de.srsoftware.web4rail.actions.Action" level="DEBUG" />
<logger name="de.srsoftware.web4rail.actions.ActionList" level="DEBUG" />
<logger name="de.srsoftware.web4rail.moving.Train" level="DEBUG" />
<logger name="de.srsoftware.web4rail.tiles" level="DEBUG" />
<logger name="de.srsoftware.web4rail.tiles" level="DEBUG" />
<logger name="de.srsoftware.web4rail.threads.BrakeProcess" level="DEBUG" />
<logger name="de.srsoftware.web4rail.threads.RouteManager" level="DEBUG" />
<logger name="de.srsoftware.web4rail" level="DEBUG" />
</configuration>

View File

@@ -0,0 +1,25 @@
package de.srsoftware.web4rail;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.spi.FilterReply;
public class ThreadFilter extends ch.qos.logback.core.filter.Filter<ILoggingEvent>{
private List<String> keywords = List.of();
@Override
public FilterReply decide(ILoggingEvent event) {
for (String key : keywords) {
if (event.getThreadName().contains(key)) return FilterReply.ACCEPT;
}
return FilterReply.DENY;
}
public void setKeywords(String keywords) {
this.keywords = Arrays.stream(keywords.split(",")).map(String::trim).collect(Collectors.toList());
}
}