[BAEL-1300] Custom Logback Appender (#3193)

* BAEL-1300 Custom logback appender

* BAEL-1300 fix to logback module

* relativePath
This commit is contained in:
Taylor Daugherty
2017-12-04 01:40:21 -05:00
committed by maibin
parent 63d4e7d014
commit 7f23c45ef4
12 changed files with 231 additions and 0 deletions
@@ -0,0 +1,14 @@
package com.baeldung.logback;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Example {
private static final Logger logger = LoggerFactory.getLogger(Example.class);
public static void main(String[] args) {
logger.info("Example log from {}", Example.class.getSimpleName());
}
}
@@ -0,0 +1,37 @@
package com.baeldung.logback;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.AppenderBase;
import java.util.HashMap;
import java.util.Map;
public class MapAppender extends AppenderBase<ILoggingEvent> {
private final Map<String, ILoggingEvent> eventMap = new HashMap<>();
private String prefix;
@Override
protected void append(final ILoggingEvent event) {
if (prefix == null || "".equals(prefix)) {
addError("Prefix is not set for MapAppender.");
return;
}
eventMap.put(prefix + System.currentTimeMillis(), event);
}
public String getPrefix() {
return prefix;
}
public void setPrefix(final String prefix) {
this.prefix = prefix;
}
public Map<String, ILoggingEvent> getEventMap() {
return eventMap;
}
}
@@ -0,0 +1,18 @@
<configuration>
<appender name="map" class="com.baeldung.logback.MapAppender">
<prefix>test</prefix>
</appender>
<appender name="out" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="map"/>
<appender-ref ref="out"/>
</root>
</configuration>