You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2016/05/20 13:29:14 UTC
karaf-decanter git commit: Fixes for log appender and collector
Repository: karaf-decanter
Updated Branches:
refs/heads/master 5f01df422 -> af1a5f8a9
Fixes for log appender and collector
Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/af1a5f8a
Tree: http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/af1a5f8a
Diff: http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/af1a5f8a
Branch: refs/heads/master
Commit: af1a5f8a93da1b11043fe14bca44e2717d245007
Parents: 5f01df4
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Fri May 20 15:28:55 2016 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Fri May 20 15:28:55 2016 +0200
----------------------------------------------------------------------
.../decanter/appender/log/LogAppender.java | 6 ++++-
.../collector/kafka/KafkaCollector.java | 2 +-
.../collector/log/socket/SocketCollector.java | 28 ++++++++++++--------
3 files changed, 23 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/af1a5f8a/appender/log/src/main/java/org/apache/karaf/decanter/appender/log/LogAppender.java
----------------------------------------------------------------------
diff --git a/appender/log/src/main/java/org/apache/karaf/decanter/appender/log/LogAppender.java b/appender/log/src/main/java/org/apache/karaf/decanter/appender/log/LogAppender.java
index 32325cd..9e648c0 100644
--- a/appender/log/src/main/java/org/apache/karaf/decanter/appender/log/LogAppender.java
+++ b/appender/log/src/main/java/org/apache/karaf/decanter/appender/log/LogAppender.java
@@ -41,9 +41,13 @@ public class LogAppender implements EventHandler {
public void handleEvent(Event event) {
StringBuilder builder = new StringBuilder();
for (String innerKey : event.getPropertyNames()) {
- builder.append(innerKey).append(":").append(event.getProperty(innerKey).toString()).append(" |�");
+ builder.append(innerKey).append(":").append(toString(event.getProperty(innerKey))).append(" |�");
}
LOGGER.info(builder.toString());
}
+ private Object toString(Object value) {
+ return value == null ? null : value.toString();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/af1a5f8a/collector/kafka/src/main/java/org/apache/karaf/decanter/collector/kafka/KafkaCollector.java
----------------------------------------------------------------------
diff --git a/collector/kafka/src/main/java/org/apache/karaf/decanter/collector/kafka/KafkaCollector.java b/collector/kafka/src/main/java/org/apache/karaf/decanter/collector/kafka/KafkaCollector.java
index 2c6e788..4371da3 100644
--- a/collector/kafka/src/main/java/org/apache/karaf/decanter/collector/kafka/KafkaCollector.java
+++ b/collector/kafka/src/main/java/org/apache/karaf/decanter/collector/kafka/KafkaCollector.java
@@ -161,7 +161,7 @@ public class KafkaCollector implements Runnable {
}
private void consume() throws UnsupportedEncodingException {
- ConsumerRecords<String, String> records = consumer.poll(100);
+ ConsumerRecords<String, String> records = consumer.poll(10000);
if (records.isEmpty()) {
return;
}
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/af1a5f8a/collector/log4j-socket/src/main/java/org/apache/karaf/decanter/collector/log/socket/SocketCollector.java
----------------------------------------------------------------------
diff --git a/collector/log4j-socket/src/main/java/org/apache/karaf/decanter/collector/log/socket/SocketCollector.java b/collector/log4j-socket/src/main/java/org/apache/karaf/decanter/collector/log/socket/SocketCollector.java
index f6715f2..145c5bb 100644
--- a/collector/log4j-socket/src/main/java/org/apache/karaf/decanter/collector/log/socket/SocketCollector.java
+++ b/collector/log4j-socket/src/main/java/org/apache/karaf/decanter/collector/log/socket/SocketCollector.java
@@ -18,6 +18,7 @@ package org.apache.karaf.decanter.collector.log.socket;
import java.io.BufferedInputStream;
import java.io.Closeable;
+import java.io.EOFException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.InetAddress;
@@ -37,16 +38,14 @@ import org.apache.log4j.spi.LoggingEvent;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Component(
- name = "org.apache.karaf.decanter.collector.log.socket",
- immediate = true
-)
+@Component(name = "org.apache.karaf.decanter.collector.log.socket", immediate = true)
public class SocketCollector implements Closeable, Runnable {
private static final Logger LOGGER = LoggerFactory.getLogger(SocketCollector.class);
@@ -67,17 +66,19 @@ public class SocketCollector implements Closeable, Runnable {
this.executor.execute(this);
this.open = true;
}
-
+
private String getProperty(Dictionary<String, Object> properties, String key, String defaultValue) {
- return (properties.get(key) != null) ? (String) properties.get(key) : defaultValue;
+ return (properties.get(key) != null) ? (String)properties.get(key) : defaultValue;
}
@Override
public void run() {
while (open) {
- try (Socket socket = serverSocket.accept();
+ try ( //
+ Socket socket = serverSocket.accept();
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(socket
- .getInputStream()));) {
+ .getInputStream())); //
+ ) {
while (open) {
try {
Object event = ois.readObject();
@@ -88,6 +89,8 @@ public class SocketCollector implements Closeable, Runnable {
LOGGER.warn("Unable to deserialize event from " + socket.getInetAddress(), e);
}
}
+ } catch (EOFException e) {
+ LOGGER.debug("Log client closed the connection.", e);
} catch (IOException e) {
LOGGER.warn("Exception receiving log.", e);
}
@@ -95,6 +98,7 @@ public class SocketCollector implements Closeable, Runnable {
}
private void handleLog4j(LoggingEvent event) throws UnknownHostException {
+ LOGGER.debug("Received log event {}", event.getLoggerName());
Map<String, Object> data = new HashMap<>();
data.put("hostAddress", InetAddress.getLocalHost().getHostAddress());
data.put("hostName", InetAddress.getLocalHost().getHostName());
@@ -135,7 +139,7 @@ public class SocketCollector implements Closeable, Runnable {
static String loggerName2Topic(String loggerName) {
StringBuilder out = new StringBuilder();
- for (int c=0; c<loggerName.length(); c++) {
+ for (int c = 0; c < loggerName.length(); c++) {
Character ch = loggerName.charAt(c);
if (Character.isDigit(ch) || Character.isLowerCase(ch) || Character.isUpperCase(ch)) {
out.append(ch);
@@ -149,7 +153,7 @@ public class SocketCollector implements Closeable, Runnable {
}
return "decanter/collect/log/" + outSt.replace(".", "/");
}
-
+
private void putLocation(Map<String, Object> data, LocationInfo loc) {
data.put("loc.class", loc.getClassName());
data.put("loc.file", loc.getFileName());
@@ -165,8 +169,10 @@ public class SocketCollector implements Closeable, Runnable {
return builder.toString();
}
+ @Deactivate
@Override
public void close() throws IOException {
+ this.open = false;
try {
this.executor.shutdown();
try {
@@ -180,7 +186,7 @@ public class SocketCollector implements Closeable, Runnable {
}
serverSocket.close();
}
-
+
@Reference
public void setEventAdmin(EventAdmin eventAdmin) {
this.eventAdmin = eventAdmin;