@Override public Appender<ILoggingEvent> build(LoggerContext context, String applicationName, LayoutFactory<ILoggingEvent> layoutFactory, LevelFilterFactory<ILoggingEvent> levelFilterFactory, AsyncAppenderFactory<ILoggingEvent> asyncAppenderFactory) { final SyslogAppender appender = new SyslogAppender(); appender.setName("syslog-appender"); appender.setContext(context); if (logFormat != null && !logFormat.isEmpty()) { appender.setSuffixPattern(logFormat .replaceAll(LOG_TOKEN_PID, pid) .replaceAll(LOG_TOKEN_NAME, Matcher.quoteReplacement(applicationName))); } appender.setSyslogHost(host); appender.setPort(port); appender.setFacility(facility.toString().toLowerCase(Locale.ENGLISH)); appender.setThrowableExcluded(!includeStackTrace); appender.setStackTracePattern(stackTracePrefix); appender.addFilter(levelFilterFactory.build(threshold)); getFilterFactories().forEach(f -> appender.addFilter(f.build())); appender.start(); return wrapAsync(appender, asyncAppenderFactory); } }
appender.setPort(port);
@Override public Appender<ILoggingEvent> build(LoggerContext context, String applicationName, LayoutFactory<ILoggingEvent> layoutFactory, LevelFilterFactory<ILoggingEvent> levelFilterFactory, AsyncAppenderFactory<ILoggingEvent> asyncAppenderFactory) { final SyslogAppender appender = new SyslogAppender(); appender.setName("syslog-appender"); appender.setContext(context); if (!isNullOrEmpty(logFormat)) { appender.setSuffixPattern(logFormat .replaceAll(LOG_TOKEN_PID, pid) .replaceAll(LOG_TOKEN_NAME, Matcher.quoteReplacement(applicationName))); } appender.setSyslogHost(host); appender.setPort(port); appender.setFacility(facility.toString().toLowerCase(Locale.ENGLISH)); appender.setThrowableExcluded(!includeStackTrace); appender.setStackTracePattern(stackTracePrefix); appender.addFilter(levelFilterFactory.build(threshold)); getFilterFactories().forEach(f -> appender.addFilter(f.build())); appender.start(); return wrapAsync(appender, asyncAppenderFactory); } }
static ch.qos.logback.classic.net.SyslogAppender constructAppender(final Config config) { final String suffixPattern = config.suffix_pattern(); final int port = config.port(); final String host = config.host(); final String facility = config.facility(); final String stackTracePattern = config.stack_trace_pattern(); final boolean throwableExcluded = config.throwable_excluded(); if (StringUtils.isEmpty(host) || 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 ch.qos.logback.classic.net.SyslogAppender 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); return appender; }