Add support to propagate ONOS log to Kafka with KafkaAppender in log4j2
- new OSGi Bundle to define extra imports for log4j2
- update OSGiWrapper to support fragment-host tag + bugfix
- add kafka-clients to onos-dependencies package
- add example of how to propagate log to Kafka via KafkaAppender
- bugfix to org.ops4j.pax.logging.cfg
Change-Id: I89992936101a48c6452082bf23c7133c20aa0b48
diff --git a/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java b/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java
index b57dab5..2bdc2b3 100644
--- a/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java
+++ b/utils/osgiwrap/src/main/java/org/onlab/osgiwrap/OSGiWrapper.java
@@ -86,9 +86,11 @@
private String bundleClasspath;
private String karafCommands;
+ private String fragmentHost;
+
// FIXME should consider using Commons CLI, etc.
public static void main(String[] args) {
- if (args.length < 14) {
+ if (args.length < 17) {
System.err.println("Not enough args");
System.exit(1);
}
@@ -109,7 +111,8 @@
String destdir = args[13];
String bundleClasspath = args[14];
String karafCommands = args[15];
- String desc = Joiner.on(' ').join(Arrays.copyOfRange(args, 12, args.length));
+ String fragmentHost = args[16];
+ String desc = Joiner.on(' ').join(Arrays.copyOfRange(args, 17, args.length));
OSGiWrapper wrapper = new OSGiWrapper(jar, output, cp,
name, group,
@@ -122,7 +125,8 @@
desc,
destdir,
bundleClasspath,
- karafCommands);
+ karafCommands,
+ fragmentHost);
wrapper.log(wrapper + "\n");
if (!wrapper.execute()) {
System.err.printf("Error generating %s\n", name);
@@ -147,7 +151,8 @@
String bundleDescription,
String destdir,
String bundleClasspath,
- String karafCommands) {
+ String karafCommands,
+ String fragmentHost) {
this.inputJar = inputJar;
this.classpath = Lists.newArrayList(classpath.split(":"));
if (!this.classpath.contains(inputJar)) {
@@ -179,6 +184,8 @@
this.bundleClasspath = bundleClasspath;
this.karafCommands = karafCommands;
+
+ this.fragmentHost = fragmentHost;
}
private void setProperties(Analyzer analyzer) {
@@ -214,6 +221,8 @@
",org.glassfish.jersey.servlet,org.jvnet.mimepull\n");
}
analyzer.setProperty("Karaf-Commands", karafCommands);
+
+ analyzer.setProperty(Analyzer.FRAGMENT_HOST, fragmentHost);
}
public boolean execute() {