/** * Create a file based sink based on given filename, append flag. * * @param filename * for generating a sink instance * @param append * append to the underlying destination */ public FileSink(String filename, boolean append) { this(filename, append, new DefaultFormatter()); }
/** * Static method to obtain default event sink * * @param name * name of the application/event sink to get * @return event sink */ public static EventSink defaultEventSink(String name) { return new SLF4JEventSink(name, System.getProperties(), new DefaultFormatter(FORMAT_PATTERN)); }
@Override public String format(Snapshot snapshot) { return format(snapshot.getSeverity(), snapshot.toString()); }
public SimulatedEventSink(String name, String url, String gwAccessToken, Integer connTimeout, EventFormatter formatter, EventLimiter limiter) { super(name, formatter); if (url.startsWith("http://") || url.startsWith("https://")) { outSink = new JKCloudEventSink(name, url, gwAccessToken, new DefaultFormatter(), null); ((JKCloudEventSink) outSink).setConnectionTimeout(connTimeout); ((EventSink) outSink).setLimiter(limiter); } else if (url.startsWith("file://")) { String fileName = url.substring(FILE_PREFIX.length()); outSink = new FileSink(fileName, true, new DefaultFormatter()); } else { throw new IllegalArgumentException("Invalid ur=" + url); } }
@Override public String format(long ttl, Source src, OpLevel level, String msg, Object... args) { String formatted = super.format(ttl, src, level, msg, args); Throwable error = Utils.getThrowable(args); if (error != null) { formatted += "\nThrowable {\n" + Utils.printThrowable(error) + "}"; } return formatted; }
@Override public EventSink getEventSink(String name, Properties props) { return getEventSink(name, props, new DefaultFormatter(FORMAT_PATTERN)); }
@Override public void sinkLogEvent(SinkLogEvent ev) { writer.println(formatter.format(ev.getTTL(), ev.getEventSource(), ev.getSeverity(), ev.getSinkObject().toString(), ev.getArguments())); }
evFormatter = new DefaultFormatter();