Skip to content
This repository was archived by the owner on Jul 26, 2023. It is now read-only.

Commit 29bcac7

Browse files
Added fluentD logger (#33)
* Added fluentD logger * Naming fix * Logic fix
1 parent c7dac9f commit 29bcac7

File tree

8 files changed

+44
-20
lines changed

8 files changed

+44
-20
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ When you build the latest code from source, you'll have access to the latest sna
396396
<dependency>
397397
<groupId>net.lightbody.bmp</groupId>
398398
<artifactId>browsermob-core</artifactId>
399-
<version>2.1.36</version>
399+
<version>2.1.37</version>
400400
<scope>test</scope>
401401
</dependency>
402402
```

browsermob-core/pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>browsermob-proxy</artifactId>
88
<groupId>net.lightbody.bmp</groupId>
9-
<version>2.1.36</version>
9+
<version>2.1.37</version>
1010
</parent>
1111
<modelVersion>4.0.0</modelVersion>
1212

@@ -69,6 +69,12 @@
6969
<artifactId>jackson-core</artifactId>
7070
</dependency>
7171

72+
<dependency>
73+
<groupId>org.fluentd</groupId>
74+
<artifactId>fluent-logger</artifactId>
75+
</dependency>
76+
77+
7278
<dependency>
7379
<groupId>com.fasterxml.jackson.core</groupId>
7480
<artifactId>jackson-databind</artifactId>

browsermob-core/src/main/java/net/lightbody/bmp/filters/HarCaptureFilter.java

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717
import net.lightbody.bmp.proxy.CaptureType;
1818
import net.lightbody.bmp.util.BeansJsonMapper;
1919
import net.lightbody.bmp.util.BrowserMobHttpUtil;
20+
import org.apache.commons.lang3.StringUtils;
21+
import org.fluentd.logger.FluentLogger;
2022
import org.littleshoot.proxy.impl.ProxyUtils;
2123
import org.slf4j.Logger;
2224
import org.slf4j.LoggerFactory;
23-
import org.slf4j.MDC;
2425

2526
import java.net.InetAddress;
2627
import java.net.InetSocketAddress;
@@ -30,12 +31,22 @@
3031
import java.util.concurrent.TimeUnit;
3132
import java.util.concurrent.atomic.AtomicInteger;
3233

33-
import static net.lightbody.bmp.filters.StatsDMetricsFilter.*;
34+
import static net.lightbody.bmp.filters.StatsDMetricsFilter.getProxyPrefix;
35+
import static net.lightbody.bmp.filters.StatsDMetricsFilter.getStatsDHost;
36+
import static net.lightbody.bmp.filters.StatsDMetricsFilter.getStatsDPort;
37+
import static net.lightbody.bmp.filters.StatsDMetricsFilter.prepareMetric;
3438

3539
public class HarCaptureFilter extends HttpsAwareFiltersAdapter {
3640
private static final Logger log = LoggerFactory.getLogger(HarCaptureFilter.class);
41+
private static FluentLogger LOG;
3742
private static final InheritableThreadLocal<HarRequest> isAlreadyLoggedIn = new InheritableThreadLocal<>();
3843

44+
static {
45+
if (StringUtils.isNotEmpty(System.getProperty("fluentdHost")) || StringUtils.isNotEmpty(System.getProperty("fluentdPort"))) {
46+
LOG = FluentLogger.getLogger("mobproxy", System.getProperty("fluentdHost"), Integer.parseInt(System.getProperty("fluentdPort")));
47+
}
48+
}
49+
3950
/**
4051
* The currently active HAR at the time the current request is received.
4152
*/
@@ -769,15 +780,17 @@ public void serverToProxyResponseReceived() {
769780
}
770781

771782
protected static void logFailedRequestIfRequired(HarRequest request, HarResponse response) {
772-
if ((Objects.isNull(isAlreadyLoggedIn.get()) || isAlreadyLoggedIn.get().hashCode() != request.hashCode())
783+
if (Objects.nonNull(LOG) &&
784+
(Objects.isNull(isAlreadyLoggedIn.get()) || isAlreadyLoggedIn.get().hashCode() != request.hashCode())
773785
&& (response.getStatus() >= 500 || response.getStatus() == 0)) {
774-
MDC.put("caller", "mobproxy");
775-
MDC.put("http_response_code", String.valueOf(response.getStatus()));
776-
MDC.put("http_host", request.getUrl());
777-
MDC.put("request_details", BeansJsonMapper.getJsonString(request));
778-
MDC.put("method", request.getMethod());
779-
MDC.put("response", BeansJsonMapper.getJsonString(response));
780-
log.error("received bad status code");
786+
Map<String, Object> data = new HashMap<String, Object>();
787+
data.put("caller", "mobproxy");
788+
data.put("http_response_code", String.valueOf(response.getStatus()));
789+
data.put("http_host", request.getUrl());
790+
data.put("request_details", BeansJsonMapper.getJsonString(request));
791+
data.put("method", request.getMethod());
792+
data.put("response", BeansJsonMapper.getJsonString(response));
793+
LOG.log("failure", data);
781794
isAlreadyLoggedIn.set(request);
782795
}
783796
}

browsermob-dist/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<artifactId>browsermob-proxy</artifactId>
66
<groupId>net.lightbody.bmp</groupId>
7-
<version>2.1.36</version>
7+
<version>2.1.37</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

@@ -45,6 +45,11 @@
4545
<artifactId>logstash-gelf</artifactId>
4646
</dependency>
4747

48+
<dependency>
49+
<groupId>org.fluentd</groupId>
50+
<artifactId>fluent-logger</artifactId>
51+
</dependency>
52+
4853
<dependency>
4954
<groupId>org.apache.logging.log4j</groupId>
5055
<artifactId>log4j-core</artifactId>

browsermob-legacy/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>browsermob-proxy</artifactId>
88
<groupId>net.lightbody.bmp</groupId>
9-
<version>2.1.36</version>
9+
<version>2.1.37</version>
1010
</parent>
1111
<modelVersion>4.0.0</modelVersion>
1212

browsermob-rest/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>browsermob-proxy</artifactId>
77
<groupId>net.lightbody.bmp</groupId>
8-
<version>2.1.36</version>
8+
<version>2.1.37</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

mitm/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<artifactId>browsermob-proxy</artifactId>
66
<groupId>net.lightbody.bmp</groupId>
7-
<version>2.1.36</version>
7+
<version>2.1.37</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>net.lightbody.bmp</groupId>
55
<artifactId>browsermob-proxy</artifactId>
6-
<version>2.1.36</version>
6+
<version>2.1.37</version>
77
<modules>
88
<module>browsermob-core</module>
99
<module>browsermob-legacy</module>
@@ -240,9 +240,9 @@
240240
</dependency>
241241

242242
<dependency>
243-
<groupId>com.twimba</groupId>
244-
<artifactId>fluentd4log4j</artifactId>
245-
<version>1.0.1</version>
243+
<groupId>org.fluentd</groupId>
244+
<artifactId>fluent-logger</artifactId>
245+
<version>0.3.4</version>
246246
</dependency>
247247

248248
<dependency>

0 commit comments

Comments
 (0)