Java 类ch.qos.logback.core.status.StatusManager 实例源码

项目:konker-platform    文件:KonkerContextInitializer.java   
private void multiplicityWarning(String resourceName, ClassLoader classLoader) {
    Set urlSet = null;
    StatusManager sm = this.loggerContext.getStatusManager();

    try {
        urlSet = Loader.getResourceOccurrenceCount(resourceName, classLoader);
    } catch (IOException var7) {
        sm.add(new ErrorStatus("Failed to get url list for resource [" + resourceName + "]", this.loggerContext, var7));
    }

    if (urlSet != null && urlSet.size() > 1) {
        sm.add(new WarnStatus("Resource [" + resourceName + "] occurs multiple times on the classpath.", this.loggerContext));
        Iterator i$ = urlSet.iterator();

        while (i$.hasNext()) {
            URL url = (URL) i$.next();
            sm.add(new WarnStatus("Resource [" + resourceName + "] occurs at [" + url.toString() + "]", this.loggerContext));
        }
    }

}
项目:konker-platform    文件:KonkerLoggerBasicConfigurator.java   
public static void configure(KonkerLoggerContext lc) {
    StatusManager sm = lc.getStatusManager();
    if(sm != null) {
        sm.add(new InfoStatus("Setting up default configuration.", lc));
    }

    ConsoleAppender ca = new ConsoleAppender();
    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();
    KonkerLogger rootLogger = lc.getLogger("ROOT");
    rootLogger.addAppender(ca);
}
项目:common-libraries    文件:ImprovedAuditorFactory.java   
static void checkSanity(Auditor auditor) throws AuditException {
    StatusManager sm = auditor.getStatusManager();

    if (getHighestLevel(0, sm) > Status.INFO) {
        StatusPrinter.print(sm);
    }

    if (auditor.getClientApplication() == null) {
        throw new AuditException("Client application has not been set");
    }

    if (auditor.getAuditAppender() == null) {
        throw new AuditException("No audit appender. Please see "
                + NULL_AUDIT_APPENDER_URL);
    }
}
项目:bartleby    文件:PatternLayoutBase.java   
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));
  }
}
项目:bartleby    文件:SizeAndTimeBasedFNATP_Test.java   
void secondPhase(String testId, String file, String stem, String compressionSuffix, int runLength, String prefix) {
  rfa1.stop();

  if (stem != null) {
    File f = new File(file);
    f.setLastModified(currentTime);
  }

  StatusManager sm = context.getStatusManager();
  sm.add(new InfoStatus("Time when rfa1 is stopped: " + new Date(currentTime), this));
  sm.add(new InfoStatus("currentTime%1000=" + (currentTime % 1000), this));

  initRollingFileAppender(rfa2, file);
  initPolicies(rfa2, tbrp2, randomOutputDir + testId + "-%d{"
          + DATE_PATTERN_WITH_SECONDS + "}-%i.txt" + compressionSuffix, sizeThreshold, currentTime, 0);

  for (int i = runLength; i < runLength * 2; i++) {
    incCurrentTime(100);
    tbrp2.timeBasedFileNamingAndTriggeringPolicy.setCurrentTime(currentTime);
    String msg = prefix + i;
    rfa2.doAppend(msg);
    addExpectedFileNamedIfItsTime(randomOutputDir, testId, msg, compressionSuffix);
  }
}
项目:bartleby    文件:BasicConfigurator.java   
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);
}
项目:bartleby    文件:ContextJNDISelector.java   
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);
  }
}
项目:bartleby    文件:ContextInitializer.java   
public void configureByResource(URL url) throws JoranException {
  if (url == null) {
    throw new IllegalArgumentException("URL argument cannot be null");
  }
  final String urlString = url.toString();
  if (urlString.endsWith("groovy")) {
    if (EnvUtil.isGroovyAvailable()) {
      // avoid directly referring to GafferConfigurator so as to avoid
      // loading  groovy.lang.GroovyObject . See also http://jira.qos.ch/browse/LBCLASSIC-214
      GafferUtil.runGafferConfiguratorOn(loggerContext, this, url);
    } else {
      StatusManager sm = loggerContext.getStatusManager();
      sm.add(new ErrorStatus("Groovy classes are not available on the class path. ABORTING INITIALIZATION.",
              loggerContext));
    }
  } else if (urlString.endsWith("xml")) {
    JoranConfigurator configurator = new JoranConfigurator();
    configurator.setContext(loggerContext);
    configurator.doConfigure(url);
  } else {
    throw new LogbackException("Unexpected filename extension of file [" + url.toString() + "]. Should be either .groovy or .xml");
  }
}
项目:bartleby    文件:ContextInitializer.java   
private void multiplicityWarning(String resourceName, ClassLoader classLoader) {
  Set<URL> urlSet = null;
  StatusManager sm = loggerContext.getStatusManager();
  try {
    urlSet = Loader.getResourceOccurrenceCount(resourceName, classLoader);
  } catch (IOException e) {
    sm.add(new ErrorStatus("Failed to get url list for resource [" + resourceName + "]",
            loggerContext, e));
  }
  if (urlSet != null && urlSet.size() > 1) {
    sm.add(new WarnStatus("Resource [" + resourceName + "] occurs multiple times on the classpath.",
            loggerContext));
    for (URL url : urlSet) {
      sm.add(new WarnStatus("Resource [" + resourceName + "] occurs at [" + url.toString() + "]",
              loggerContext));
    }
  }
}
项目:bartleby    文件:LoggerContextTest.java   
@Test
public void testStatusWithUnconfiguredContext() {
  Logger logger = lc.getLogger(LoggerContextTest.class);

  for (int i = 0; i < 3; i++) {
    logger.debug("test");
  }

  logger = lc.getLogger("x.y.z");

  for (int i = 0; i < 3; i++) {
    logger.debug("test");
  }

  StatusManager sm = lc.getStatusManager();
  assertTrue("StatusManager has recieved too many messages",
          sm.getCount() == 1);
}
项目:bartleby    文件:ViewStatusMessagesServlet.java   
@Override
  protected StatusManager getStatusManager(HttpServletRequest req,
      HttpServletResponse resp) {

    ServletContext sc = getServletContext();
    return (StatusManager) sc
        .getAttribute(AccessConstants.LOGBACK_STATUS_MANAGER_KEY);

//    if (result != null) {
//      System.out.println("from ServletContext");
//      return result;
//    } else {
//      HttpSession httpSession = req.getSession(true);
//      
//      System.out.println("from httpSession");
//      return (StatusManager) httpSession
//          .getAttribute(AccessConstants.LOGBACK_STATUS_MANAGER_KEY);
//    }
  }
项目:greenpepper    文件:DefaultLogbackConfigurator.java   
/** {@inheritDoc} */
@Override
public void configure(LoggerContext loggerContext) {
    StatusManager sm = loggerContext.getStatusManager();
    if (sm != null) {
        sm.add(new InfoStatus("Setting up GreenPepper PHP Runner configuration.", loggerContext));
    }
    ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<ILoggingEvent>();
    ca.setContext(loggerContext);
    ca.setName("console");
    PatternLayoutEncoder pl = new PatternLayoutEncoder();
    pl.setContext(loggerContext);
    pl.setPattern("%d{yyyy-MM-dd HH:mm:ss.SSS}  %-5level   %-36logger{36} - %msg%n");
    pl.start();

    ca.setEncoder(pl);
    ca.start();
    Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
    rootLogger.addAppender(ca);
    rootLogger.setLevel(Level.INFO);
}
项目:greenpepper    文件:DefaultLogbackConfigurator.java   
/** {@inheritDoc} */
@Override
public void configure(LoggerContext loggerContext) {
    StatusManager sm = loggerContext.getStatusManager();
    if (sm != null) {
        sm.add(new InfoStatus("Setting up default configuration.", loggerContext));
    }
    ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<ILoggingEvent>();
    ca.setContext(loggerContext);
    ca.setName("console");
    PatternLayoutEncoder pl = new PatternLayoutEncoder();
    pl.setContext(loggerContext);
    pl.setPattern("[%-5level] %msg%n");
    pl.start();

    ca.setEncoder(pl);
    ca.start();
    Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
    rootLogger.addAppender(ca);
    rootLogger.setLevel(Level.WARN);
    loggerContext.getLogger("com.greenpepper.maven.plugin").setLevel(Level.INFO);
}
项目:pipes    文件:LogbackConfig.java   
public static void configure(LoggerContext loggerContext) {
    loggerContext.reset();

    StatusManager sm = loggerContext.getStatusManager();
    if (sm != null) {
        sm.add(new InfoStatus("Setting up default Pipes configuration.", loggerContext));
    }

    ConsoleAppender<ILoggingEvent> ca = new ConsoleAppender<>();
    ca.setContext(loggerContext);
    ca.setWithJansi(true);
    ca.setName("console");

    PatternLayoutEncoder pl = new PatternLayoutEncoder();
    pl.setCharset(Charset.forName("UTF-8"));
    pl.setContext(loggerContext);
    //pl.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n");
    pl.setPattern("%msg%n");
    pl.start();

    ca.setEncoder(pl);
    ca.start();
    ch.qos.logback.classic.Logger rootLogger = loggerContext.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
    rootLogger.setLevel(Level.INFO);
    rootLogger.addAppender(ca);
}
项目:aliyun-log-logback-appender    文件:TestAppender.java   
@AfterClass
public static void checkStatusList() {
    sleep();
    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    StatusManager statusManager = lc.getStatusManager();
    List<Status> statusList = statusManager.getCopyOfStatusList();
    for (Status status : statusList) {
        int level = status.getLevel();
        assertNotEquals(status.getMessage(), Status.ERROR, level);
        assertNotEquals(status.getMessage(), Status.WARN, level);
    }
}
项目:konker-platform    文件:KonkerLoggerContext.java   
private void resetStatusListeners() {
    StatusManager sm = this.getStatusManager();
    Iterator i$ = sm.getCopyOfStatusListenerList().iterator();

    while(i$.hasNext()) {
        StatusListener sl = (StatusListener)i$.next();
        sm.remove(sl);
    }

}
项目:konker-platform    文件:KonkerContextInitializer.java   
private void statusOnResourceSearch(String resourceName, ClassLoader classLoader, URL url) {
    StatusManager sm = this.loggerContext.getStatusManager();
    if (url == null) {
        sm.add(new InfoStatus("Could NOT find resource [" + resourceName + "]", this.loggerContext));
    } else {
        sm.add(new InfoStatus("Found resource [" + resourceName + "] at [" + url.toString() + "]", this.loggerContext));
        this.multiplicityWarning(resourceName, classLoader);
    }

}
项目:common-libraries    文件:ImprovedAuditorFactory.java   
public static int getHighestLevel(long threshold, StatusManager sm ) {
    List filteredList = StatusUtil.filterStatusListByTimeThreshold(sm.getCopyOfStatusList(), threshold);
    int maxLevel = 0;
    Iterator i$ = filteredList.iterator();

    while(i$.hasNext()) {
        Status s = (Status)i$.next();
        if(s.getLevel() > maxLevel) {
            maxLevel = s.getLevel();
        }
    }

    return maxLevel;
}
项目:bartleby    文件:ContextAwareImpl.java   
public void addStatus(Status status) {
  if (context == null) {
    if (noContextWarning++ == 0) {
      System.out.println("LOGBACK: No context given for " + this);
    }
    return;
  }
  StatusManager sm = context.getStatusManager();
  if (sm != null) {
    sm.add(status);
  }
}
项目:bartleby    文件:ContextAwareBase.java   
public void addStatus(Status status) {
  if (context == null) {
    if (noContextWarning++ == 0) {
      System.out.println("LOGBACK: No context given for " + this);
    }
    return;
  }
  StatusManager sm = context.getStatusManager();
  if (sm != null) {
    sm.add(status);
  }
}
项目:bartleby    文件:ConfigurationWatchListUtil.java   
static void addStatus(Context context, Status s) {
  if (context == null) {
    System.out.println("Null context in " + ConfigurationWatchList.class.getName());
    return;
  }
  StatusManager sm = context.getStatusManager();
  if (sm == null) return;
  sm.add(s);
}
项目:bartleby    文件:ResilientOutputStreamBase.java   
public void addStatus(Status status) {
  if (context == null) {
    if (noContextWarning++ == 0) {
      System.out.println("LOGBACK: No context given for " + this);
    }
    return;
  }
  StatusManager sm = context.getStatusManager();
  if (sm != null) {
    sm.add(status);
  }
}
项目:bartleby    文件:AbstractPatternLayoutBaseTest.java   
@Test
public void testUnStarted() {
  PatternLayoutBase<E> plb = getPatternLayoutBase();
  Context context = new ContextBase();
  plb.setContext(context);
  String s = plb.doLayout(getEventObject());
  assertEquals("", s);
  StatusManager sm = context.getStatusManager();
  StatusPrinter.print(sm);
}
项目:bartleby    文件:AbstractPatternLayoutBaseTest.java   
@Test
public void testStarted() {
  PatternLayoutBase<E> plb = getPatternLayoutBase();
  Context context = new ContextBase();
  plb.setContext(context);
  String s = plb.doLayout(getEventObject());
  assertEquals("", s);
  StatusManager sm = context.getStatusManager();
  StatusPrinter.print(sm);
}
项目:bartleby    文件:StaxEventRecorderTest.java   
@Test
public void testProcessingOfTextWithEntityCharacters() throws Exception {
  List<StaxEvent> seList = doTest("ampEvent.xml");
  StatusManager sm = context.getStatusManager();
  assertTrue(statusChecker.getHighestLevel(0) == Status.INFO);
  //dump(seList);
  assertEquals(3, seList.size());

  BodyEvent be = (BodyEvent) seList.get(1);
  assertEquals("xxx & yyy", be.getText());
}
项目:bartleby    文件:StaxEventRecorderTest.java   
@Test
public void testAttributeProcessing() throws Exception {
  List<StaxEvent> seList = doTest("inc.xml");
  StatusManager sm = context.getStatusManager();
  assertTrue(statusChecker.getHighestLevel(0) == Status.INFO);
  assertEquals(4, seList.size());
  StartEvent se = (StartEvent) seList.get(1);
  Attribute attr = se.getAttributeByName("increment");
  assertNotNull(attr);
  assertEquals("1", attr.getValue());
}
项目:bartleby    文件:SaxEventRecorderTest.java   
@Test
public void test2() throws Exception {
  List<SaxEvent> seList = doTest("ampEvent.xml");
  StatusManager sm = context.getStatusManager();
  assertTrue(statusChecker.getHighestLevel(0) == Status.INFO);
  //dump(seList);  
  assertEquals(3, seList.size());

  BodyEvent be = (BodyEvent) seList.get(1);
  assertEquals("xxx & yyy", be.getText());
}
项目:bartleby    文件:SaxEventRecorderTest.java   
@Test
public void test3() throws Exception {
  List<SaxEvent> seList = doTest("inc.xml");
  StatusManager sm = context.getStatusManager();
  assertTrue(statusChecker.getHighestLevel(0) == Status.INFO);
  //dump(seList);
  assertEquals(4, seList.size());

  StartEvent se = (StartEvent) seList.get(1);
  Attributes attr = se.getAttributes();
  assertNotNull(attr);
  assertEquals("1", attr.getValue("increment"));
}
项目:bartleby    文件:FileAppenderTest.java   
@Test
public void testPrudentModeLogicalImplications() {
  String filename = CoreTestConstants.OUTPUT_DIR_PREFIX + diff + "fat-testPrudentModeLogicalImplications.txt";
  File file = new File(filename);
  FileAppender<Object> appender = new FileAppender<Object>();
  appender.setEncoder(new DummyEncoder<Object>());
  appender.setFile(filename);
  appender.setName("testPrudentModeLogicalImplications");
  appender.setContext(context);

  appender.setAppend(false);
  appender.setPrudent(true);
  appender.start();

  assertTrue(appender.isAppend());

  StatusManager sm = context.getStatusManager();
  //StatusPrinter.print(context);
  StatusChecker statusChecker = new StatusChecker(context);
  assertEquals(Status.WARN, statusChecker.getHighestLevel(0));
  List<Status> statusList = sm.getCopyOfStatusList();
  assertTrue("Expecting status list size to be 2 or larger, but was "
      + statusList.size(), statusList.size() >= 2);
  String msg1 = statusList.get(1).getMessage();

  assertTrue("Got message [" + msg1 + "]", msg1
      .startsWith("Setting \"Append\" property"));

  appender.doAppend(new Object());
  appender.stop();
  assertTrue(file.exists());
  assertTrue("failed to delete " + file.getAbsolutePath(), file.delete());
}
项目:bartleby    文件:GafferUtil.java   
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));
}
项目:bartleby    文件:ContextJNDISelector.java   
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);
}
项目:bartleby    文件:ContextInitializer.java   
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);
  }
}
项目:bartleby    文件:AddStatusListenerApp.java   
public static void main(String[] args) throws JoranException {


  LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); 
  StatusManager statusManager = lc.getStatusManager();
  OnConsoleStatusListener onConsoleListener = new OnConsoleStatusListener();
  statusManager.add(onConsoleListener);

  Logger logger = LoggerFactory.getLogger("myApp");
  logger.info("Entering application.");

  Foo foo = new Foo();
  foo.doIt();
  logger.info("Exiting application.");
}
项目:logback-websocket-appender    文件:WebSocketReceiver.java   
public void addStatus(LoggerContext context, Status status) {
    if (context != null) {
        StatusManager sm = context.getStatusManager();
        if (sm != null) {
            sm.add(status);
        }
    }
}
项目:armeria    文件:RequestContextExportingAppenderTest.java   
@After
public void tearDown() {
    final Logger logger = (Logger) LoggerFactory.getLogger(getClass());
    final StatusManager sm = rootLogger.getLoggerContext().getStatusManager();
    int count = 0;
    for (Status s : sm.getCopyOfStatusList()) {
        final int level = s.getEffectiveLevel();
        if (level == Status.INFO) {
            continue;
        }
        if (s.getMessage().contains(InternalLoggerFactory.class.getName())) {
            // Skip the warnings related with Netty.
            continue;
        }

        count++;
        switch (level) {
            case Status.WARN:
                if (s.getThrowable() != null) {
                    logger.warn(s.getMessage(), s.getThrowable());
                } else {
                    logger.warn(s.getMessage());
                }
                break;
            case Status.ERROR:
                if (s.getThrowable() != null) {
                    logger.warn(s.getMessage(), s.getThrowable());
                } else {
                    logger.warn(s.getMessage());
                }
                break;
        }
    }

    if (count > 0) {
        fail("Appender raised an exception.");
    }
}
项目:karaku    文件:LogTest.java   
/**
 * Verifica si la configuración es correcta.
 */
@Test
public void testConfiguration() {

    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    // print logback's internal status

    StringBuilder sb = new StringBuilder();
    StatusManager sm = lc.getStatusManager();

    for (Status s : sm.getCopyOfStatusList()) {
        StatusPrinter.buildStr(sb, "", s);
    }
    assertThat(sb.toString(), containsString("Found resource"));
}
项目:clap    文件:LogbackHelper.java   
public static void initLogback() {
    LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();

    StatusManager statusManager = loggerContext.getStatusManager();
    if (statusManager != null) {
        statusManager.add(new InfoStatus("Setting up logger configuration.", loggerContext));
    }

    final PatternLayout layout = new PatternLayout();
    layout.setContext(loggerContext);
    layout.setPattern("%msg%n");
    layout.start();

    AppenderBase<ILoggingEvent> appender = new AppenderBase<ILoggingEvent>() {
        @Override
        protected void append(ILoggingEvent event) {
            String message = layout.doLayout(event);
            LogHelper.appendLogEntry(event.getTimeStamp(), convertLevel(event.getLevel()),
                    event.getLoggerName(), event.getThreadName(), message);
        }
    };
    appender.setContext(loggerContext);
    appender.setName(LOGBACK_APPENDER_NAME);
    appender.start();

    Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
    rootLogger.addAppender(appender);
}
项目:bartleby    文件:ContextBase.java   
public StatusManager getStatusManager() {
  return sm;
}
项目:bartleby    文件:ContextAwareImpl.java   
public StatusManager getStatusManager() {
  if (context == null) {
    return null;
  }
  return context.getStatusManager();
}
项目:bartleby    文件:ContextAwareBase.java   
public StatusManager getStatusManager() {
  if (context == null) {
    return null;
  }
  return context.getStatusManager();
}