Remove dependency
This commit is contained in:
parent
3a4cdfd7ca
commit
3b2eacfc8e
11
pom.xml
11
pom.xml
|
@ -53,16 +53,17 @@
|
||||||
<artifactId>dropwizard-metrics-graphite</artifactId>
|
<artifactId>dropwizard-metrics-graphite</artifactId>
|
||||||
<version>${dropwizard.version}</version>
|
<version>${dropwizard.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.papertrailapp</groupId>
|
|
||||||
<artifactId>logback-syslog4j</artifactId>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bouncycastle</groupId>
|
<groupId>org.bouncycastle</groupId>
|
||||||
<artifactId>bcprov-jdk16</artifactId>
|
<artifactId>bcprov-jdk16</artifactId>
|
||||||
<version>1.46</version>
|
<version>1.46</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.syslog4j</groupId>
|
||||||
|
<artifactId>syslog4j</artifactId>
|
||||||
|
<version>0.9.30</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.amazonaws</groupId>
|
<groupId>com.amazonaws</groupId>
|
||||||
|
|
|
@ -1,22 +1,28 @@
|
||||||
package org.whispersystems.textsecuregcm.metrics;
|
package org.whispersystems.textsecuregcm.metrics;
|
||||||
|
|
||||||
|
|
||||||
import ch.qos.logback.classic.LoggerContext;
|
|
||||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
|
||||||
import ch.qos.logback.core.Appender;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||||
import com.papertrailapp.logback.Syslog4jAppender;
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
import org.productivity.java.syslog4j.SyslogConfigIF;
|
||||||
|
import org.productivity.java.syslog4j.SyslogIF;
|
||||||
|
import org.productivity.java.syslog4j.SyslogRuntimeException;
|
||||||
|
import org.productivity.java.syslog4j.impl.net.tcp.ssl.SSLTCPNetSyslogConfig;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.TimeZone;
|
||||||
|
|
||||||
|
import ch.qos.logback.classic.LoggerContext;
|
||||||
|
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||||
|
import ch.qos.logback.classic.util.LevelToSyslogSeverity;
|
||||||
|
import ch.qos.logback.core.Appender;
|
||||||
|
import ch.qos.logback.core.AppenderBase;
|
||||||
|
import ch.qos.logback.core.Layout;
|
||||||
import io.dropwizard.logging.AbstractAppenderFactory;
|
import io.dropwizard.logging.AbstractAppenderFactory;
|
||||||
import io.dropwizard.logging.async.AsyncAppenderFactory;
|
import io.dropwizard.logging.async.AsyncAppenderFactory;
|
||||||
import io.dropwizard.logging.filter.LevelFilterFactory;
|
import io.dropwizard.logging.filter.LevelFilterFactory;
|
||||||
import io.dropwizard.logging.layout.LayoutFactory;
|
import io.dropwizard.logging.layout.LayoutFactory;
|
||||||
import io.dropwizard.validation.PortRange;
|
import io.dropwizard.validation.PortRange;
|
||||||
import org.hibernate.validator.constraints.NotEmpty;
|
|
||||||
import org.productivity.java.syslog4j.impl.net.tcp.ssl.SSLTCPNetSyslogConfig;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
@JsonTypeName("papertrail")
|
@JsonTypeName("papertrail")
|
||||||
public class LoggingNetworkAppenderFactory extends AbstractAppenderFactory<ILoggingEvent> {
|
public class LoggingNetworkAppenderFactory extends AbstractAppenderFactory<ILoggingEvent> {
|
||||||
|
@ -118,4 +124,75 @@ public class LoggingNetworkAppenderFactory extends AbstractAppenderFactory<ILogg
|
||||||
|
|
||||||
return syslogAppender;
|
return syslogAppender;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static class Syslog4jAppender<E> extends AppenderBase<E> {
|
||||||
|
SyslogIF syslog;
|
||||||
|
SyslogConfigIF syslogConfig;
|
||||||
|
Layout<E> layout;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void append(E loggingEvent) {
|
||||||
|
syslog.log(getSeverityForEvent(loggingEvent), layout.doLayout(loggingEvent));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void start() {
|
||||||
|
super.start();
|
||||||
|
|
||||||
|
synchronized (this) {
|
||||||
|
try {
|
||||||
|
Class syslogClass = syslogConfig.getSyslogClass();
|
||||||
|
syslog = (SyslogIF) syslogClass.newInstance();
|
||||||
|
|
||||||
|
syslog.initialize(syslogClass.getSimpleName(), syslogConfig);
|
||||||
|
} catch (ClassCastException | IllegalAccessException | InstantiationException cse) {
|
||||||
|
throw new SyslogRuntimeException(cse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stop() {
|
||||||
|
super.stop();
|
||||||
|
|
||||||
|
synchronized(this) {
|
||||||
|
if (syslog != null) {
|
||||||
|
syslog.shutdown();
|
||||||
|
syslog = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a level to equivalent syslog severity. Only levels for printing
|
||||||
|
* methods i.e DEBUG, WARN, INFO and ERROR are converted.
|
||||||
|
*
|
||||||
|
* @see ch.qos.logback.core.net.SyslogAppenderBase#getSeverityForEvent(java.lang.Object)
|
||||||
|
*/
|
||||||
|
public int getSeverityForEvent(Object eventObject) {
|
||||||
|
if (eventObject instanceof ILoggingEvent) {
|
||||||
|
ILoggingEvent event = (ILoggingEvent) eventObject;
|
||||||
|
return LevelToSyslogSeverity.convert(event);
|
||||||
|
} else {
|
||||||
|
return SyslogIF.LEVEL_INFO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public SyslogConfigIF getSyslogConfig() {
|
||||||
|
return syslogConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSyslogConfig(SyslogConfigIF syslogConfig) {
|
||||||
|
this.syslogConfig = syslogConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Layout<E> getLayout() {
|
||||||
|
return layout;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLayout(Layout<E> layout) {
|
||||||
|
this.layout = layout;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue