private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
@Override public void write(String entry) throws IOException { final LoggingEvent event = new LoggingEvent(); event.setLevel(Level.INFO); event.setLoggerName("http.request"); event.setMessage(entry); event.setTimeStamp(System.currentTimeMillis()); appenders.appendLoopOnAppenders(event); }
@Override protected void append(ILoggingEvent eventObject) { final RequestContext ctx = RequestContext.mapCurrent(Function.identity(), () -> null); if (ctx != null) { final State state = state(ctx); final RequestLog log = ctx.log(); final Set<RequestLogAvailability> availabilities = log.availabilities(); // Note: This equality check is extremely fast. // See RequestLogAvailabilitySet for more information. if (!availabilities.equals(state.availabilities)) { state.availabilities = availabilities; export(state, ctx, log); } final Map<String, String> originalMdcMap = eventObject.getMDCPropertyMap(); final Map<String, String> mdcMap; // Create a copy of 'state' to avoid the race between: // - the delegate appenders who iterate over the MDC map and // - this class who update 'state'. if (!originalMdcMap.isEmpty()) { mdcMap = new UnionMap<>(state.clone(), originalMdcMap); } else { mdcMap = state.clone(); } eventObject = new LoggingEventWrapper(eventObject, mdcMap); } aai.appendLoopOnAppenders(eventObject); }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
private int appendLoopOnAppenders(ILoggingEvent event) { if (aai != null) { return aai.appendLoopOnAppenders(event); } else { return 0; } }
@Override public void onNext(ILoggingEvent iLoggingEvent) { aai.appendLoopOnAppenders(iLoggingEvent); }
@Override public void onNext(ILoggingEvent iLoggingEvent) { aai.appendLoopOnAppenders(iLoggingEvent); }
public void callAppenders(IAccessEvent event) { aai.appendLoopOnAppenders(event); }
public void log(AuditEvent auditEvent) throws AuditException { int writes = aai.appendLoopOnAppenders(auditEvent); // No appenders in hierarchy if (writes == 0) { throw new AuditException("no appender defined"); } }
@Override protected void append(ILoggingEvent eventObject) { final IThrowableProxy exception = getException(eventObject); for (String exceptionName : exceptionAndMessage.keySet()) { if (exception != null && exception.getClassName().endsWith(exceptionName) && containsMessage(exception, exceptionName)) { aai.appendLoopOnAppenders(new ExpectedExceptionEventWrapper(eventObject)); return; } } aai.appendLoopOnAppenders(eventObject); }
/** * This flush method writes the graph, with the data that exists at the time it is calld, to any attached appenders. */ public void flush() { synchronized (downstreamAppenders) { if (hasUnflushedData) { downstreamAppenders.appendLoopOnAppenders(new LoggingEvent( Logger.class.getName(), (Logger) LoggerFactory.getLogger(StopWatch.DEFAULT_LOGGER_NAME), lastAppendedEventLevel, chartGenerator.getChartUrl(), null, null)); hasUnflushedData = false; } } } }
/** * This flush method writes the graph, with the data that exists at the time it is calld, to any attached appenders. */ public void flush() { synchronized (downstreamAppenders) { if (hasUnflushedData) { downstreamAppenders.appendLoopOnAppenders(new LoggingEvent( Logger.class.getName(), (Logger) LoggerFactory.getLogger(StopWatch.DEFAULT_LOGGER_NAME), lastAppendedEventLevel, chartGenerator.getChartUrl(), null, null)); hasUnflushedData = false; } } } }
public void handle(GroupedTimingStatistics statistics) { LoggingEvent coalescedLoggingEvent = new LoggingEvent(Logger.class.getName(), getLoggerContext().getLogger(StopWatch.DEFAULT_LOGGER_NAME), downstreamLogLevel, "{}", null, new Object[] {statistics}); try { synchronized(downstreamAppenders) { downstreamAppenders.appendLoopOnAppenders(coalescedLoggingEvent); } } catch (Exception e) { addError("Exception calling append with GroupedTimingStatistics on downstream appender", e); } }
@Override public void log(Request jettyRequest, Response jettyResponse) { JettyServerAdapter adapter = new JettyServerAdapter(jettyRequest, jettyResponse); IAccessEvent accessEvent = new AccessEvent(jettyRequest, jettyResponse, adapter); if (getFilterChainDecision(accessEvent) == FilterReply.DENY) { return; } aai.appendLoopOnAppenders(accessEvent); }
@Test public void testAddAppender() throws Exception { TestEvent event = new TestEvent(); NOPAppender<TestEvent> ta = new NOPAppender<TestEvent>(); ta.start(); aai.addAppender(ta); ta = new NOPAppender<TestEvent>(); ta.setName("test"); ta.start(); aai.addAppender(ta); int size = aai.appendLoopOnAppenders(event); assertTrue("Incorrect number of appenders", size == 2); }