Skip to content

Commit f141a1c

Browse files
committed
Removed compile time dependency on log4j
1 parent 4a202e9 commit f141a1c

3 files changed

Lines changed: 78 additions & 154 deletions

File tree

pom.xml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5252
<mina.version>2.0.16</mina.version>
5353
<log4j.version>2.7</log4j.version>
54+
<slf4j.version>1.7.25</slf4j.version>
5455
</properties>
5556

5657
<dependencyManagement>
@@ -83,8 +84,14 @@
8384
</dependency>
8485
<dependency>
8586
<groupId>org.apache.logging.log4j</groupId>
86-
<artifactId>log4j-api</artifactId>
87+
<artifactId>log4j-slf4j-impl</artifactId>
8788
<version>${log4j.version}</version>
89+
<scope>runtime</scope>
90+
</dependency>
91+
<dependency>
92+
<groupId>org.slf4j</groupId>
93+
<artifactId>slf4j-api</artifactId>
94+
<version>${slf4j.version}</version>
8895
<scope>compile</scope>
8996
</dependency>
9097
<dependency>
@@ -132,7 +139,13 @@
132139
</dependency>
133140
<dependency>
134141
<groupId>org.apache.logging.log4j</groupId>
135-
<artifactId>log4j-api</artifactId>
142+
<artifactId>log4j-slf4j-impl</artifactId>
143+
<scope>runtime</scope>
144+
<optional>true</optional>
145+
</dependency>
146+
<dependency>
147+
<groupId>org.slf4j</groupId>
148+
<artifactId>slf4j-api</artifactId>
136149
<scope>compile</scope>
137150
</dependency>
138151
<dependency>

src/main/java/com/github/kmbulebu/dsc/it100/IT100.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
11
package com.github.kmbulebu.dsc.it100;
22

3-
import java.net.SocketAddress;
4-
5-
import org.apache.logging.log4j.Level;
6-
import org.apache.logging.log4j.LogManager;
7-
import org.apache.logging.log4j.Logger;
3+
import com.github.kmbulebu.dsc.it100.commands.read.ReadCommand;
4+
import com.github.kmbulebu.dsc.it100.commands.write.WriteCommand;
5+
import com.github.kmbulebu.dsc.it100.mina.codec.IT100CodecFactory;
6+
import com.github.kmbulebu.dsc.it100.mina.filters.CommandLogFilter;
7+
import com.github.kmbulebu.dsc.it100.mina.filters.PollKeepAliveFilter;
8+
import com.github.kmbulebu.dsc.it100.mina.filters.StatusRequestFilter;
9+
import com.github.kmbulebu.dsc.it100.rxjava.ReadCommandOnSubscribe;
810
import org.apache.mina.core.future.ConnectFuture;
911
import org.apache.mina.core.service.IoConnector;
1012
import org.apache.mina.core.session.IoSession;
1113
import org.apache.mina.filter.codec.ProtocolCodecFilter;
1214
import org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler;
1315
import org.apache.mina.handler.demux.DemuxingIoHandler;
1416
import org.apache.mina.handler.demux.MessageHandler;
15-
17+
import org.slf4j.Logger;
18+
import org.slf4j.LoggerFactory;
19+
import org.slf4j.event.Level;
1620
import rx.Observable;
1721
import rx.Observer;
1822
import rx.observables.ConnectableObservable;
1923
import rx.subjects.PublishSubject;
2024

21-
import com.github.kmbulebu.dsc.it100.commands.read.ReadCommand;
22-
import com.github.kmbulebu.dsc.it100.commands.write.WriteCommand;
23-
import com.github.kmbulebu.dsc.it100.mina.codec.IT100CodecFactory;
24-
import com.github.kmbulebu.dsc.it100.mina.filters.CommandLogFilter;
25-
import com.github.kmbulebu.dsc.it100.mina.filters.PollKeepAliveFilter;
26-
import com.github.kmbulebu.dsc.it100.mina.filters.StatusRequestFilter;
27-
import com.github.kmbulebu.dsc.it100.rxjava.ReadCommandOnSubscribe;
25+
import java.net.SocketAddress;
2826

2927
/**
3028
* API Main Entry point.
@@ -43,7 +41,7 @@ public class IT100 {
4341
private IoConnector connector = null;
4442
private IoSession session = null;
4543

46-
private static final Logger LOGGER = LogManager.getLogger();
44+
private static final Logger LOGGER = LoggerFactory.getLogger(IT100.class);
4745

4846
private final Configuration configuration;
4947

Lines changed: 51 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,148 +1,61 @@
11
package com.github.kmbulebu.dsc.it100.mina.filters;
22

3-
import org.apache.logging.log4j.Level;
4-
import org.apache.logging.log4j.Logger;
5-
import org.apache.logging.log4j.Marker;
3+
import com.github.kmbulebu.dsc.it100.commands.read.ReadCommand;
4+
import com.github.kmbulebu.dsc.it100.commands.write.WriteCommand;
65
import org.apache.mina.core.filterchain.IoFilterAdapter;
76
import org.apache.mina.core.session.IoSession;
87
import org.apache.mina.core.write.WriteRequest;
9-
10-
import com.github.kmbulebu.dsc.it100.commands.read.ReadCommand;
11-
import com.github.kmbulebu.dsc.it100.commands.write.WriteCommand;
8+
import org.slf4j.IMarkerFactory;
9+
import org.slf4j.Logger;
10+
import org.slf4j.Marker;
11+
import org.slf4j.event.Level;
12+
import org.slf4j.helpers.BasicMarkerFactory;
1213

1314
public class CommandLogFilter extends IoFilterAdapter {
14-
15-
private final Logger logger;
16-
private final Level level;
17-
18-
public CommandLogFilter(Logger logger, Level level) {
19-
this.logger = logger;
20-
this.level = level;
21-
}
22-
23-
@Override
24-
public void messageReceived(NextFilter nextFilter, IoSession session, Object message) throws Exception {
25-
if (message instanceof ReadCommand) {
26-
logger.log(level, new ReceivedMarker(), message.toString());
27-
}
28-
super.messageReceived(nextFilter, session, message);
29-
}
30-
31-
@Override
32-
public void messageSent(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
33-
if (writeRequest.getMessage() instanceof WriteCommand) {
34-
logger.log(level, new SentMarker(), writeRequest.getMessage().toString());
35-
}
36-
super.messageSent(nextFilter, session, writeRequest);
37-
}
38-
39-
private static class ReceivedMarker implements Marker {
40-
41-
/**
42-
*
43-
*/
44-
private static final long serialVersionUID = 5190100565468306990L;
45-
46-
@Override
47-
public String getName() {
48-
return "RECEIVED";
49-
}
50-
51-
@Override
52-
public boolean isInstanceOf(Marker m) {
53-
return (m instanceof ReceivedMarker);
54-
}
55-
56-
@Override
57-
public boolean isInstanceOf(String name) {
58-
return "RECEIVED".equals(name);
59-
}
60-
61-
@Override
62-
public String toString() {
63-
return "RECEIVED";
64-
}
65-
66-
@Override
67-
public Marker addParents(Marker... markers) {
68-
return null;
69-
}
70-
71-
@Override
72-
public Marker[] getParents() {
73-
return null;
74-
}
75-
76-
@Override
77-
public boolean hasParents() {
78-
return false;
79-
}
80-
81-
@Override
82-
public boolean remove(Marker marker) {
83-
return false;
84-
}
85-
86-
@Override
87-
public Marker setParents(Marker... markers) {
88-
return null;
89-
}
90-
91-
}
92-
93-
private static class SentMarker implements Marker {
94-
95-
96-
/**
97-
*
98-
*/
99-
private static final long serialVersionUID = 5213322286168888154L;
100-
101-
@Override
102-
public String getName() {
103-
return "SENT";
104-
}
105-
106-
@Override
107-
public boolean isInstanceOf(Marker m) {
108-
return (m instanceof SentMarker);
109-
}
110-
111-
@Override
112-
public boolean isInstanceOf(String name) {
113-
return "SENT".equals(name);
114-
}
115-
116-
@Override
117-
public String toString() {
118-
return "SENT";
119-
}
120-
121-
@Override
122-
public Marker addParents(Marker... markers) {
123-
return null;
124-
}
125-
126-
@Override
127-
public Marker[] getParents() {
128-
return null;
129-
}
130-
131-
@Override
132-
public boolean hasParents() {
133-
return false;
134-
}
135-
136-
@Override
137-
public boolean remove(Marker marker) {
138-
return false;
139-
}
14015

141-
@Override
142-
public Marker setParents(Marker... markers) {
143-
return null;
144-
}
145-
146-
}
16+
private final IMarkerFactory markerFactory = new BasicMarkerFactory();
17+
private final Logger logger;
18+
private final Level level;
19+
20+
public CommandLogFilter(Logger logger, Level level) {
21+
this.logger = logger;
22+
this.level = level;
23+
}
24+
25+
@Override
26+
public void messageReceived(NextFilter nextFilter, IoSession session, Object message) throws Exception {
27+
if (message instanceof ReadCommand) {
28+
log(level, markerFactory.getMarker("RECEIVED"), message.toString());
29+
}
30+
super.messageReceived(nextFilter, session, message);
31+
}
32+
33+
@Override
34+
public void messageSent(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
35+
if (writeRequest.getMessage() instanceof WriteCommand) {
36+
log(level, markerFactory.getMarker("SENT"), writeRequest.getMessage().toString());
37+
}
38+
super.messageSent(nextFilter, session, writeRequest);
39+
}
40+
41+
private void log(Level level, Marker marker, String message) {
42+
switch (level) {
43+
case TRACE:
44+
logger.trace(marker, message);
45+
break;
46+
case DEBUG:
47+
logger.debug(marker, message);
48+
break;
49+
case INFO:
50+
logger.info(marker, message);
51+
break;
52+
case WARN:
53+
logger.warn(marker, message);
54+
break;
55+
case ERROR:
56+
logger.error(marker, message);
57+
break;
58+
}
59+
}
14760

14861
}

0 commit comments

Comments
 (0)