Java 类ch.qos.logback.core.net.SyslogAppenderBase 实例源码
项目:bartleby
文件:SyslogStartConverter.java
public void start() {
int errorCount = 0;
String facilityStr = getFirstOption();
if (facilityStr == null) {
addError("was expecting a facility string as an option");
return;
}
facility = SyslogAppenderBase.facilityStringToint(facilityStr);
localHostName = getLocalHostname();
try {
// hours should be in 0-23, see also http://jira.qos.ch/browse/LBCLASSIC-48
simpleMonthFormat = new SimpleDateFormat("MMM", Locale.US);
simpleTimeFormat = new SimpleDateFormat("HH:mm:ss", Locale.US);
} catch (IllegalArgumentException e) {
addError("Could not instantiate SimpleDateFormat", e);
errorCount++;
}
if(errorCount == 0) {
super.start();
}
}
项目:BikeMan
文件:MillisecondPrecisionSyslogStartConverter.java
public void start() {
int errorCount = 0;
final String facilityStr = getFirstOption();
if (facilityStr == null) {
addError("was expecting a facility string as an option");
return;
}
facility = SyslogAppenderBase.facilityStringToint(facilityStr);
localHostName = getLocalHostname();
try {
isoFormatter = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd'T'HH:mm:ss.SSS")
.appendTimeZoneOffset("Z", true, 2, 4)
.toFormatter();
} catch (Exception e) {
addError("Could not instantiate Joda DateTimeFormatter", e);
errorCount++;
}
if (errorCount == 0) {
super.start();
}
}
项目:BikeMan
文件:MillisecondPrecisionSyslogAppender.java
private OutputStream getSyslogOutputStream() {
Field f;
try {
f = SyslogAppenderBase.class.getDeclaredField("sos");
f.setAccessible(true);
return (OutputStream) f.get(this);
} catch (ReflectiveOperationException e) {
throw Throwables.propagate(e);
}
}
项目:logging-java
文件:MillisecondPrecisionSyslogStartConverter.java
public void start() {
int errorCount = 0;
final String facilityStr = getFirstOption();
if (facilityStr == null) {
addError("was expecting a facility string as an option");
return;
}
facility = SyslogAppenderBase.facilityStringToint(facilityStr);
localHostName = Optional.fromNullable(getContext().getProperty("hostname"))
.or(getLocalHostname());
try {
// ASL doesn't handle milliseconds.
if (os.equals("Mac OS X")) {
simpleFormat = new SimpleDateFormat("MMM dd HH:mm:ss", new DateFormatSymbols(Locale.US));
} else {
simpleFormat = new SimpleDateFormat("MMM dd HH:mm:ss.SSS", new DateFormatSymbols(Locale.US));
}
} catch (IllegalArgumentException e) {
addError("Could not instantiate SimpleDateFormat", e);
errorCount++;
}
if (errorCount == 0) {
super.start();
}
}
项目:logging-java
文件:MillisecondPrecisionSyslogAppender.java
private OutputStream getSyslogOutputStream() {
Field f;
try {
f = SyslogAppenderBase.class.getDeclaredField("sos");
f.setAccessible(true);
return (OutputStream) f.get(this);
} catch (ReflectiveOperationException e) {
throw Throwables.propagate(e);
}
}
项目:acs-aem-commons
文件:SyslogAppender.java
@Activate
@SuppressWarnings("squid:S1149")
protected void activate(ComponentContext ctx) {
final Dictionary<?, ?> properties = ctx.getProperties();
final String[] loggers = PropertiesUtil.toStringArray(properties.get(PROP_LOGGERS), new String[] {ROOT});
final String suffixPattern = PropertiesUtil
.toString(properties.get(PROP_SUFFIX_PATTERN), DEFAULT_SUFFIX_PATTERN);
final int port = PropertiesUtil.toInteger(properties.get(PROP_PORT), DEFAULT_PORT);
final String host = PropertiesUtil.toString(properties.get(PROP_HOST), null);
final String facility = PropertiesUtil.toString(properties.get(PROP_FACILITY), DEFAULT_FACILITY);
final String stackTracePattern = PropertiesUtil.toString(properties.get(PROP_STACK_TRACE_PATTERN), null);
final boolean throwableExcluded = PropertiesUtil.toBoolean(properties.get(PROP_THROWABLE_EXCLUDED), DEFAULT_THROWABLE_EXCLUDED);
if (host == null || port == -1) {
throw new IllegalArgumentException(
"Syslog Appender not configured correctly. Both host and port need to be provided.");
}
// throws a descriptive IllegalArgumentException if facility is not valid.
SyslogAppenderBase.facilityStringToint(facility);
final BundleContext bundleContext = ctx.getBundleContext();
appender = new ch.qos.logback.classic.net.SyslogAppender();
appender.setSyslogHost(host);
appender.setPort(port);
appender.setFacility(facility);
appender.setSuffixPattern(suffixPattern);
if (StringUtils.isNotEmpty(stackTracePattern)) {
appender.setStackTracePattern(stackTracePattern);
}
appender.setThrowableExcluded(throwableExcluded);
Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put("loggers", loggers);
appenderRegistration = bundleContext.registerService(Appender.class.getName(), appender, props);
}