ch.qos.logback.classic.Logger.detachAndStopAllAppenders()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(312)

本文整理了Java中ch.qos.logback.classic.Logger.detachAndStopAllAppenders()方法的一些代码示例,展示了Logger.detachAndStopAllAppenders()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Logger.detachAndStopAllAppenders()方法的具体详情如下:
包路径:ch.qos.logback.classic.Logger
类名称:Logger
方法名:detachAndStopAllAppenders

Logger.detachAndStopAllAppenders介绍

[英]Remove all previously added appenders from this logger instance.

This is useful when re-reading configuration information.
[中]从此记录器实例中删除以前添加的所有附加程序。
这在重新读取配置信息时非常有用。

代码示例

代码示例来源:origin: jmxtrans/jmxtrans

  1. @Override
  2. public void close() {
  3. for(Logger logger: this.loggers.values()) {
  4. logger.detachAndStopAllAppenders();
  5. }
  6. this.loggers.clear();
  7. }

代码示例来源:origin: jmxtrans/jmxtrans

  1. @Override
  2. public void close() {
  3. for(Logger logger: this.loggers.values()) {
  4. logger.detachAndStopAllAppenders();
  5. }
  6. this.loggers.clear();
  7. }

代码示例来源:origin: ch.qos.logback/logback-classic

  1. void recursiveReset() {
  2. detachAndStopAllAppenders();
  3. localLevelReset();
  4. additive = true;
  5. if (childrenList == null) {
  6. return;
  7. }
  8. for (Logger childLogger : childrenList) {
  9. childLogger.recursiveReset();
  10. }
  11. }

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateAppender(String productName, String file, String encoding) {
  3. ch.qos.logback.core.Appender appender = getLogbackDailyRollingFileAppender(productName, file, encoding);
  4. logger.detachAndStopAllAppenders();
  5. logger.addAppender(appender);
  6. setProductName(productName);
  7. }

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateAppenderWithTimeAndSizeRolling(String productName, String file, String encoding, String size) {
  3. ch.qos.logback.core.Appender appender = getLogbackDailyAndSizeRollingFileAppender(productName, file, encoding,
  4. size);
  5. logger.detachAndStopAllAppenders();
  6. logger.addAppender(appender);
  7. setProductName(productName);
  8. }

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateAppenderWithTimeAndSizeRolling(String productName, String file, String encoding, String size,
  3. String datePattern) {
  4. ch.qos.logback.core.Appender appender = getLogbackDailyAndSizeRollingFileAppender(productName, file, encoding,
  5. size, datePattern, -1);
  6. logger.detachAndStopAllAppenders();
  7. logger.addAppender(appender);
  8. setProductName(productName);
  9. }

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateAppenderWithTimeAndSizeRolling(String productName, String file, String encoding, String size,
  3. String datePattern, int maxBackupIndex) {
  4. ch.qos.logback.core.Appender appender = getLogbackDailyAndSizeRollingFileAppender(productName, file, encoding,
  5. size, datePattern,
  6. maxBackupIndex);
  7. logger.detachAndStopAllAppenders();
  8. logger.addAppender(appender);
  9. setProductName(productName);
  10. }

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateAppenderWithSizeRolling(String productName, String file, String encoding, String size,
  3. int maxBackupIndex) {
  4. ch.qos.logback.core.Appender appender = getSizeRollingAppender(productName, file, encoding, size,
  5. maxBackupIndex);
  6. logger.detachAndStopAllAppenders();
  7. logger.addAppender(appender);
  8. setProductName(productName);
  9. }

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateAppender(Logger logger) {
  3. if (!(logger.getDelegate() instanceof ch.qos.logback.classic.Logger)) {
  4. throw new IllegalArgumentException(
  5. "logger must be ch.qos.logback.classic.Logger, but it's " + logger.getDelegate().getClass());
  6. }
  7. this.logger.detachAndStopAllAppenders();
  8. Iterator<ch.qos.logback.core.Appender<ILoggingEvent>> iter = ((ch.qos.logback.classic.Logger)logger
  9. .getDelegate()).iteratorForAppenders();
  10. while (iter.hasNext()) {
  11. ch.qos.logback.core.Appender<ILoggingEvent> appender = iter.next();
  12. this.logger.addAppender(appender);
  13. }
  14. }

代码示例来源:origin: dropwizard/dropwizard

  1. /**
  2. * This method is designed to be used by unit tests only.
  3. */
  4. void clear() {
  5. // This is volatile, read once for performance.
  6. final String name = loggerName;
  7. if (name != null) {
  8. CHANGE_LOGGER_CONTEXT_LOCK.lock();
  9. try {
  10. loggerContext.stop();
  11. final Logger logger = loggerContext.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
  12. logger.detachAndStopAllAppenders();
  13. // Additional cleanup/reset for this name
  14. configureLoggers(name);
  15. } finally {
  16. CHANGE_LOGGER_CONTEXT_LOCK.unlock();
  17. }
  18. StatusPrinter.setPrintStream(System.out);
  19. }
  20. }

代码示例来源:origin: SonarSource/sonarqube

  1. private static void setCustomRootAppender(LoggingConfiguration conf) {
  2. Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
  3. String level = StringUtils.defaultIfBlank(conf.getSubstitutionVariables().get(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL), LoggingConfiguration.LEVEL_ROOT_DEFAULT);
  4. if (logger.getAppender(CUSTOM_APPENDER_NAME) == null) {
  5. logger.detachAndStopAllAppenders();
  6. logger.addAppender(createAppender(conf.getLogOutput()));
  7. }
  8. logger.setLevel(Level.toLevel(level));
  9. }

代码示例来源:origin: dropwizard/dropwizard

  1. @Override
  2. public void reset() {
  3. CHANGE_LOGGER_CONTEXT_LOCK.lock();
  4. try {
  5. // Flush all the loggers and reinstate only the console logger as a
  6. // sane default.
  7. loggerContext.stop();
  8. final Logger logger = loggerContext.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
  9. logger.detachAndStopAllAppenders();
  10. final DropwizardLayout formatter = new DropwizardLayout(loggerContext, TimeZone.getDefault());
  11. formatter.start();
  12. final LayoutWrappingEncoder<ILoggingEvent> layoutEncoder = new LayoutWrappingEncoder<>();
  13. layoutEncoder.setLayout(formatter);
  14. final ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>();
  15. consoleAppender.addFilter(new ThresholdLevelFilterFactory().build(Level.INFO));
  16. consoleAppender.setEncoder(layoutEncoder);
  17. consoleAppender.setContext(loggerContext);
  18. consoleAppender.start();
  19. logger.addAppender(consoleAppender);
  20. loggerContext.start();
  21. } finally {
  22. CHANGE_LOGGER_CONTEXT_LOCK.unlock();
  23. }
  24. }

代码示例来源:origin: dropwizard/dropwizard

  1. root.detachAndStopAllAppenders();

代码示例来源:origin: apache/incubator-dubbo

  1. LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
  2. Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
  3. rootLogger.detachAndStopAllAppenders();

代码示例来源:origin: apache/incubator-dubbo

  1. LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
  2. Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
  3. rootLogger.detachAndStopAllAppenders();

代码示例来源:origin: alibaba/nacos

  1. @Override
  2. public void activateConsoleAppender(String target, String encoding) {
  3. ch.qos.logback.core.ConsoleAppender appender = new ch.qos.logback.core.ConsoleAppender();
  4. appender.setContext(LogbackLoggerContextUtil.getLoggerContext());
  5. appender.setTarget(target);
  6. PatternLayout layout = new PatternLayout();
  7. layout.setPattern(LoggerHelper.getPattern());
  8. layout.setContext(LogbackLoggerContextUtil.getLoggerContext());
  9. layout.start();
  10. appender.setLayout(layout);
  11. appender.start();
  12. logger.detachAndStopAllAppenders();
  13. logger.addAppender(appender);
  14. }

代码示例来源:origin: HubSpot/Singularity

  1. public Logger prepareRootLogger(LoggerContext context) {
  2. Logger rootLogger = context.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
  3. rootLogger.detachAndStopAllAppenders();
  4. return rootLogger;
  5. }

代码示例来源:origin: camunda/camunda-bpm-platform

  1. void recursiveReset() {
  2. detachAndStopAllAppenders();
  3. localLevelReset();
  4. additive = true;
  5. if (childrenList == null) {
  6. return;
  7. }
  8. for (Logger childLogger : childrenList) {
  9. childLogger.recursiveReset();
  10. }
  11. }

代码示例来源:origin: HubSpot/Singularity

  1. public void stopTaskLogger(String taskId, Logger logger) {
  2. LOG.info("Stopping task logger for {}", taskId);
  3. try {
  4. logger.info("Task finished, stopping logger");
  5. logger.detachAndStopAllAppenders();
  6. logger.getLoggerContext().stop();
  7. } catch (Throwable t) {
  8. LOG.error("While closing task logger for {}", taskId, t);
  9. }
  10. }

代码示例来源:origin: HubSpot/Singularity

  1. public Logger buildTaskLogger(String taskId, String executorId, String executorPid, String taskLogFile) {
  2. LOG.info("Building a task logger for {} pointing to {}", taskId, taskLogFile);
  3. LoggerContext context = new LoggerContext();
  4. context.setName(executorPid);
  5. baseLogging.prepareRootLogger(context);
  6. String loggerId = taskId;
  7. try {
  8. SingularityTaskId singularityTaskId = SingularityTaskId.valueOf(taskId);
  9. loggerId = String.format("%s.%s.%s.%s.%s", singularityTaskId.getRequestId(), singularityTaskId.getDeployId(), singularityTaskId.getStartedAt(),
  10. singularityTaskId.getInstanceNo(), executorId);
  11. } catch (InvalidSingularityTaskIdException e) {
  12. LOG.info("Handling non-SingularityTaskId %s", taskId);
  13. }
  14. Logger taskLogger = context.getLogger(loggerId);
  15. taskLogger.detachAndStopAllAppenders();
  16. if (baseLogging.getRootLogPath().isPresent()) {
  17. taskLogger.addAppender(baseLogging.buildFileAppender(context, baseLogging.getRootLogPath().get()));
  18. }
  19. taskLogger.addAppender(baseLogging.buildFileAppender(context, taskLogFile));
  20. context.start();
  21. return taskLogger;
  22. }

相关文章