Refine search
private static void addError(LoggerContext context, Object origin, String msg, Throwable t) { StatusManager sm = context.getStatusManager(); if (sm == null) { return; } sm.add(new ErrorStatus(msg, origin, t)); }
public List<String> getStatuses() { List<String> list = new ArrayList<String>(); Iterator<Status> it = context.getStatusManager().getCopyOfStatusList().iterator(); while (it.hasNext()) { list.add(it.next().toString()); } return list; }
protected void configureWith(URL resource) { JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext((LoggerContext) loggerFactory); ((LoggerContext) loggerFactory).reset(); // the statusManager keeps a copy of all logback status messages even after reset, so we clear that ((LoggerContext) loggerFactory).getStatusManager().clear(); try { configurator.doConfigure(resource); } catch (JoranException ignore) { } StatusPrinter.printInCaseOfErrorsOrWarnings((Context) loggerFactory); }
private void resetStatusListeners() { StatusManager sm = getStatusManager(); for (StatusListener sl : sm.getCopyOfStatusListenerList()) { sm.remove(sl); } }
public static void configure(LoggerContext lc) { StatusManager sm = lc.getStatusManager(); if(sm != null) { sm.add(new InfoStatus("Setting up default configuration.", lc)); } ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<ILoggingEvent>(); ca.setContext(lc); ca.setName("console"); PatternLayoutEncoder pl = new PatternLayoutEncoder(); pl.setContext(lc); pl.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"); pl.start(); ca.setEncoder(pl); ca.start(); Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME); rootLogger.addAppender(ca); }
@Test public void testNoStart() { // listAppender.start(); listAppender.setContext(lc); root.addAppender(listAppender); Logger logger = lc.getLogger(LoggerTest.class); logger.debug("hello"); List<Status> statusList = lc.getStatusManager().getCopyOfStatusList(); Status s0 = statusList.get(0); assertEquals(Status.WARN, s0.getLevel()); assertTrue(s0.getMessage().startsWith("Attempted to append to non started")); }
final void noAppenderDefinedWarning(final Logger logger) { if (noAppenderWarning++ == 0) { getStatusManager().add(new WarnStatus("No appenders present in context [" + getName() + "] for logger [" + logger.getName() + "].", logger)); } }
void addStatusListener(StatusListener statusListener) { StatusManager sm = loggerContext.getStatusManager(); sm.add(statusListener); }
public void start() { if(pattern == null || pattern.length() == 0) { addError("Empty or null pattern."); return; } try { Parser<E> p = new Parser<E>(pattern); if (getContext() != null) { p.setContext(getContext()); } Node t = p.parse(); this.head = p.compile(t, getEffectiveConverterMap()); if (postCompileProcessor != null) { postCompileProcessor.process(head); } ConverterUtil.setContextForConverters(getContext(), head); ConverterUtil.startConverters(this.head); super.start(); } catch (ScanException sce) { StatusManager sm = getContext().getStatusManager(); sm.add(new ErrorStatus("Failed to parse pattern \"" + getPattern() + "\".", this, sce)); } }
void removeStatusListener(StatusListener statusListener) { StatusManager sm = loggerContext.getStatusManager(); sm.remove(statusListener); }
@Test public void testStartNoRemoteAddress() throws Exception { receiver.start(); assertFalse(receiver.isStarted()); int count = lc.getStatusManager().getCount(); Status status = lc.getStatusManager().getCopyOfStatusList().get(count - 1); assertTrue(status.getMessage().contains("host")); }
private URL urlByResourceName(StatusManager sm, String resourceName) { sm.add(new InfoStatus("Searching for [" + resourceName + "]", this)); URL url = Loader.getResource(resourceName, Loader.getTCL()); if (url != null) { return url; } return Loader.getResourceBySelfClassLoader(resourceName); }
@Before public void setUp() { rootLogger.getLoggerContext().getStatusManager().clear(); MDC.clear(); testLogger = (Logger) LoggerFactory.getLogger("loggerTest." + testName.getMethodName()); testLogger.setLevel(Level.ALL); }
@Override public void cleanUp() { LoggerContext context = getLoggerContext(); markAsUninitialized(context); super.cleanUp(); context.getStatusManager().clear(); context.getTurboFilterList().remove(FILTER); }
@Override protected void loadConfiguration(LoggingInitializationContext initializationContext, String location, LogFile logFile) { super.loadConfiguration(initializationContext, location, logFile); LoggerContext loggerContext = getLoggerContext(); stopAndReset(loggerContext); try { configureByResourceUrl(initializationContext, loggerContext, ResourceUtils.getURL(location)); } catch (Exception ex) { throw new IllegalStateException( "Could not initialize Logback logging from " + location, ex); } List<Status> statuses = loggerContext.getStatusManager().getCopyOfStatusList(); StringBuilder errors = new StringBuilder(); for (Status status : statuses) { if (status.getLevel() == Status.ERROR) { errors.append((errors.length() > 0) ? String.format("%n") : ""); errors.append(status.toString()); } } if (errors.length() > 0) { throw new IllegalStateException( String.format("Logback configuration error detected: %n%s", errors)); } }
private synchronized void registerToLogback() { LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); final StatusManager statusManager = context.getStatusManager(); statusManager.remove(this); reset(); statusManager.add(this); addInitialStatuses(statusManager); }
@Test public void autoStatusListener() throws JoranException { System.setProperty(CoreConstants.STATUS_LISTENER_CLASS, TrivialStatusListener.class.getName()); List<StatusListener> statusListenerList = loggerContext.getStatusManager().getCopyOfStatusListenerList(); assertEquals(0, statusListenerList.size()); doAutoConfigFromSystemProperties(ClassicTestConstants.INPUT_PREFIX + "autoConfig.xml"); statusListenerList = loggerContext.getStatusManager().getCopyOfStatusListenerList(); assertTrue(statusListenerList.size() +" should be 1", statusListenerList.size() == 1); // LOGBACK-767 TrivialStatusListener tsl = (TrivialStatusListener) statusListenerList.get(0); assertTrue("expecting at least one event in list", tsl.list.size() > 0); } }
/** * Returns true if the StatusManager associated with the context passed * as parameter has one or more StatusListener instances registered. Returns * false otherwise. * * @param context * @return true if one or more StatusListeners registered, false otherwise * @since 1.0.8 */ static public boolean contextHasStatusListener(Context context) { StatusManager sm = context.getStatusManager(); if(sm == null) return false; List<StatusListener> listeners = sm.getCopyOfStatusListenerList(); if(listeners == null || listeners.size() == 0) return false; else return true; }
private boolean checkError() { Iterator it = context.getStatusManager().getCopyOfStatusList().iterator(); ErrorStatus es = (ErrorStatus)it.next(); return PropertyAction.INVALID_ATTRIBUTES.equals(es.getMessage()); }