public static void addInfo(String msg, Object o) { addStatus(new InfoStatus(msg, o)); }
public void testAddStatus() { { InfoStatus status = new InfoStatus("testing", this); status.add(new ErrorStatus("error", this)); Iterator<Status> it = status.iterator(); assertTrue("No status was added", it.hasNext()); assertTrue("hasChilden method reported wrong result", status .hasChildren()); } { InfoStatus status = new InfoStatus("testing", this); try { status.add(null); fail("method should have thrown an Exception"); } catch (NullPointerException ex) { } } }
public void testEffectiveLevel() { { // effective level = 0 level deep ErrorStatus status = new ErrorStatus("error", this); WarnStatus warn = new WarnStatus("warning", this); status.add(warn); assertEquals("effective level misevaluated", status.getEffectiveLevel(), Status.ERROR); } { // effective level = 1 level deep InfoStatus status = new InfoStatus("info", this); WarnStatus warn = new WarnStatus("warning", this); status.add(warn); assertEquals("effective level misevaluated", status.getEffectiveLevel(), Status.WARN); } { // effective level = 2 levels deep InfoStatus status = new InfoStatus("info", this); WarnStatus warn = new WarnStatus("warning", this); ErrorStatus error = new ErrorStatus("error", this); status.add(warn); warn.add(error); assertEquals("effective level misevaluated", status.getEffectiveLevel(), Status.ERROR); } }
public void testRemoveStatus() { { InfoStatus status = new InfoStatus("testing", this); ErrorStatus error = new ErrorStatus("error", this); status.add(error); boolean result = status.remove(error); Iterator<Status> it = status.iterator(); assertTrue("Remove failed", result); assertFalse("No status was removed", it.hasNext()); assertFalse("hasChilden method reported wrong result", status .hasChildren()); } { InfoStatus status = new InfoStatus("testing", this); ErrorStatus error = new ErrorStatus("error", this); status.add(error); boolean result = status.remove(null); assertFalse("Remove result was not false", result); } }
private void statusOnResourceSearch(String resourceName, ClassLoader classLoader, URL url) { StatusManager sm = loggerContext.getStatusManager(); if (url == null) { sm.add(new InfoStatus("Could NOT find resource [" + resourceName + "]", loggerContext)); } else { sm.add(new InfoStatus("Found resource [" + resourceName + "] at [" + url.toString() + "]", loggerContext)); multiplicityWarning(resourceName, classLoader); } }
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); }
private URL findConfigFileURL(Context ctx, LoggerContext loggerContext) { StatusManager sm = loggerContext.getStatusManager(); String jndiEntryForConfigResource = JNDIUtil.lookup(ctx, JNDI_CONFIGURATION_RESOURCE); // Do we have a dedicated configuration file? if (jndiEntryForConfigResource != null) { sm.add(new InfoStatus("Searching for [" + jndiEntryForConfigResource + "]", this)); URL url = urlByResourceName(sm, jndiEntryForConfigResource); if (url == null) { String msg = "The jndi resource [" + jndiEntryForConfigResource + "] for context [" + loggerContext.getName() + "] does not lead to a valid file"; sm.add(new WarnStatus(msg, this)); } return url; } else { String resourceByConvention = conventionalConfigFileName(loggerContext.getName()); return urlByResourceName(sm, resourceByConvention); } }
public void addInfo(Object caller, String msg) { addStatus(new InfoStatus(msg, caller)); }
static void addInfo(Context context, String msg) { addStatus(context, new InfoStatus(msg, origin)); }
private void statusOnResourceSearch(String resourceName, ClassLoader classLoader, URL url) { StatusManager sm = loggerContext.getStatusManager(); if (url == null) { sm.add(new InfoStatus("Could NOT find resource [" + resourceName + "]", loggerContext)); } else { sm.add(new InfoStatus("Found resource [" + resourceName + "] at [" + url.toString() + "]", loggerContext)); multiplicityWarning(resourceName, classLoader); } }
private void postSuccessfulWrite() { if (recoveryCoordinator != null) { recoveryCoordinator = null; statusCount = 0; addStatus(new InfoStatus("Recovered from IO failure on " + getDescription(), this)); } }
public void addInfo(String msg) { addStatus(new InfoStatus(msg, getDeclaredOrigin())); }
public void addInfo(String msg, Throwable ex) { addStatus(new InfoStatus(msg, getDeclaredOrigin(), ex)); }
public void addInfo(String msg) { addStatus(new InfoStatus(msg, getOrigin())); }
public void addInfo(String msg, Throwable ex) { addStatus(new InfoStatus(msg, getOrigin(), ex)); }
sm.add(new InfoStatus("Cleared all status messages", this));
void addStatusIfCountNotOverLimit(Status s) { ++statusCount; if (statusCount < STATUS_COUNT_LIMIT) { addStatus(s); } if (statusCount == STATUS_COUNT_LIMIT) { addStatus(s); addStatus(new InfoStatus("Will supress future messages regarding " + getDescription(), this)); } }
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); }
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); }
void attemptRecovery() { try { close(); } catch (IOException e) { } addStatusIfCountNotOverLimit(new InfoStatus( "Attempting to recover from IO failure on " + getDescription(), this)); // subsequent writes must always be in append mode try { os = openNewOutputStream(); presumedClean = true; } catch (IOException e) { addStatusIfCountNotOverLimit(new ErrorStatus("Failed to open " + getDescription(), this, e)); } }