类java.util.logging.Handler源码实例Demo

下面列出了怎么用java.util.logging.Handler的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: netbeans   文件: TwigTestBase.java
private static void suppressUselessLogging() {
    for (Handler handler : Logger.getLogger("").getHandlers()) {
        handler.setFilter(new Filter() {

            @Override
            public boolean isLoggable(LogRecord record) {
                boolean result = true;
                if (record.getSourceClassName().startsWith("org.netbeans.modules.parsing.impl.indexing.LogContext")
                        || record.getSourceClassName().startsWith("org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater")
                        || record.getSourceClassName().startsWith("org.netbeans.modules.editor.settings.storage.keybindings.KeyMapsStorage")) { //NOI18N
                    result = false;
                }
                return result;
            }
        });
    }
}
 
源代码2 项目: myrrix-recommender   文件: InitListener.java
private static void configureLogging(ServletContext context) {
  MemoryHandler.setSensibleLogFormat();
  Handler logHandler = null;
  for (Handler handler : java.util.logging.Logger.getLogger("").getHandlers()) {
    if (handler instanceof MemoryHandler) {
      logHandler = handler;
      break;
    }
  }
  if (logHandler == null) {
    // Not previously configured by command line, make a new one
    logHandler = new MemoryHandler();
    java.util.logging.Logger.getLogger("").addHandler(logHandler);
  }
  context.setAttribute(LOG_HANDLER, logHandler);
}
 
源代码3 项目: netbeans   文件: LogFormatterTest.java
public void testUnknownLevels() throws IOException {
    TestLevel level = new TestLevel("WARN", 233);
    LogRecord r = new LogRecord(level, "Custom level test");
    Formatter formatter = new LogFormatter();
    String s = formatter.format(r);
    cleanKnownLevels();
    final LogRecord[] rPtr = new LogRecord[] { null };
    Handler h = new Handler() {
        @Override
        public void publish(LogRecord record) {
            rPtr[0] = record;
        }
        @Override
        public void flush() {}
        @Override
        public void close() throws SecurityException {}
    };
    LogRecords.scan(new ReaderInputStream(new StringReader(s)), h);
    assertEquals("level", r.getLevel(), rPtr[0].getLevel());
}
 
源代码4 项目: dremio-oss   文件: JULBridge.java
public static void configure() {
  // Route JUL logging messages to SLF4J.
  LogManager.getLogManager().reset();
  SLF4JBridgeHandler.removeHandlersForRootLogger();
  SLF4JBridgeHandler.install();

  // Parquet installs a default handler if none found, so remove existing handlers and add slf4j
  // one.
  // Also add slf4j bridge handle and configure additivity to false so that log messages are not
  // printed out twice
  final Handler[] handlers = PARQUET_ROOT_LOGGER.getHandlers();
  for(int i = 0; i < handlers.length; i++) {
    PARQUET_ROOT_LOGGER.removeHandler(handlers[i]);
  }
  PARQUET_ROOT_LOGGER.addHandler(new SLF4JBridgeHandler());
  PARQUET_ROOT_LOGGER.setUseParentHandlers(false);
}
 
private static void logOff(Logger pLogger)
{
    pLogger.setLevel(LogConfigurator.OFF);
    Handler[] handlers = pLogger.getHandlers();
    if(handlers != null){
        for(Handler handler : handlers){
            pLogger.removeHandler(handler);
        }
    }
    if(pLogger == accessLogger)
    {
        accessLogEnabled = false;
    }
    else if(pLogger == logger)
    {
        logEnabled = false;
    }
}
 
源代码6 项目: bazel   文件: FileHandlerQuerier.java
@Override
protected Optional<Path> getLogHandlerFilePath(Handler handler) {
  // Hack: java.util.logging.FileHandler has no API for getting the current file path. Instead, we
  // try to parse the configured path and check that it has no % variables.
  String pattern = logManagerSupplier.get().getProperty("java.util.logging.FileHandler.pattern");
  if (pattern == null) {
    throw new IllegalStateException(
        "java.util.logging.config property java.util.logging.FileHandler.pattern is undefined");
  }
  if (pattern.matches(".*%[thgu].*")) {
    throw new IllegalStateException(
        "resolving %-coded variables in java.util.logging.config property "
            + "java.util.logging.FileHandler.pattern is not supported");
  }
  Path path = Paths.get(pattern.trim());

  // Hack: java.util.logging.FileHandler has no API for checking if a log file is currently open.
  // Instead, we try to query whether the handler can log a SEVERE level record - which for
  // expected configurations should be true iff a log file is open.
  if (!handler.isLoggable(new LogRecord(Level.SEVERE, ""))) {
    return Optional.empty();
  }
  return Optional.of(path);
}
 
源代码7 项目: vjtools   文件: Client.java
public static void main(String[] args) {
	Client client = new Client();
	// Set the logger to use our all-on-one-line formatter.
	Logger l = Logger.getLogger("");
	Handler[] hs = l.getHandlers();
	for (int i = 0; i < hs.length; i++) {
		Handler h = hs[0];
		if (h instanceof ConsoleHandler) {
			h.setFormatter(client.new OneLineSimpleLogger());
		}
	}
	try {
		client.execute(args);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
 
源代码8 项目: incubator-heron   文件: Simulator.java
private void handleException(Thread thread, Throwable exception) {
  LOG.severe("Local Mode Process exiting.");
  LOG.log(Level.SEVERE,
      "Exception caught in thread: " + thread.getName() + " with id: " + thread.getId(),
      exception);
  for (Handler handler : java.util.logging.Logger.getLogger("").getHandlers()) {
    handler.close();
  }

  // Attempts to shutdown all the thread in threadsPool. This will send Interrupt to every
  // thread in the pool. Threads may implement a clean Interrupt logic.
  threadsPool.shutdownNow();

  // not owned by HeronInstance). To be safe, not sending these interrupts.
  Runtime.getRuntime().halt(1);
}
 
源代码9 项目: api-mining   文件: Logging.java
/** Set up console handler */
public static Handler setUpConsoleHandler() {
	final ConsoleHandler handler = new ConsoleHandler() {
		@Override
		protected void setOutputStream(final OutputStream out) throws SecurityException {
			super.setOutputStream(System.out);
		}
	};
	handler.setLevel(Level.ALL);
	final Formatter formatter = new Formatter() {
		@Override
		public String format(final LogRecord record) {
			return record.getMessage();
		}
	};
	handler.setFormatter(formatter);
	return handler;
}
 
源代码10 项目: tutorials   文件: AopLoggingIntegrationTest.java
@Before
public void setUp() {
    messages = new ArrayList<>();

    logEventHandler = new Handler() {
        @Override
        public void publish(LogRecord record) {
            messages.add(record.getMessage());
        }

        @Override
        public void flush() {
        }

        @Override
        public void close() throws SecurityException {
        }
    };

    Logger logger = Logger.getLogger(LoggingAspect.class.getName());
    logger.addHandler(logEventHandler);
}
 
源代码11 项目: semanticvectors   文件: VerbatimLogger.java
private static VerbatimLogger getVerbatimLogger() {
  if (singletonLogger == null) {
    singletonLogger = new VerbatimLogger();
    ConsoleHandler cs = new ConsoleHandler();
    singletonFormatter = singletonLogger.new VerbatimFormatter();
    cs.setFormatter(singletonFormatter);
    VerbatimLogger.underlyingLogger = Logger.getLogger("VerbatimLogger");
    VerbatimLogger.underlyingLogger.setUseParentHandlers(false);
    for (Handler handler : underlyingLogger.getHandlers()) {
      underlyingLogger.removeHandler(handler);
    }
    underlyingLogger.addHandler(cs);
  }
  return singletonLogger;
}
 
源代码12 项目: netbeans   文件: ExceptionTest.java
/**
 * Test GlassFishException with message and cause <code>Throwable</code>
 * throwing and logging.
 */
@Test
public void testGlassFishExceptionWithMsgAndCause() {
    String gfieMsg = "Test exception";
    String causeMsg = "Cause exception";
    java.util.logging.Logger logger = Logger.getLogger();
    Level logLevel = logger.getLevel();
    OutputStream logOut = new ByteArrayOutputStream(256);
    Handler handler = new StreamHandler(logOut, new SimpleFormatter());
    handler.setLevel(Level.WARNING);
    logger.addHandler(handler);       
    logger.setLevel(Level.WARNING);
    try {
        try {
            throw new Exception(causeMsg);
        } catch (Exception e) {
            throw new GlassFishIdeException(gfieMsg, e);
        }
    } catch (GlassFishIdeException gfie) {
        handler.flush();
    } finally {
        logger.removeHandler(handler);
        handler.close();
        logger.setLevel(logLevel);
    }
    String logMsg = logOut.toString();
    int containsGfieMsg = logMsg.indexOf(gfieMsg);
    int containsCauseMsg = logMsg.indexOf(causeMsg);
    assertTrue(containsGfieMsg > -1 && containsCauseMsg > -1);
}
 
源代码13 项目: grpc-nebula-java   文件: ContextTest.java
@Test
public void detachingNonCurrentLogsSevereMessage() {
  final AtomicReference<LogRecord> logRef = new AtomicReference<LogRecord>();
  Handler handler = new Handler() {
    @Override
    public void publish(LogRecord record) {
      logRef.set(record);
    }

    @Override
    public void flush() {
    }

    @Override
    public void close() throws SecurityException {
    }
  };
  Logger logger = Logger.getLogger(Context.storage().getClass().getName());
  try {
    logger.addHandler(handler);
    Context initial = Context.current();
    Context base = initial.withValue(PET, "dog");
    // Base is not attached
    base.detach(initial);
    assertSame(initial, Context.current());
    assertNotNull(logRef.get());
    assertEquals(Level.SEVERE, logRef.get().getLevel());
  } finally {
    logger.removeHandler(handler);
  }
}
 
源代码14 项目: grpc-nebula-java   文件: ContextTest.java
@Override
public void run() {
  Logger logger = Logger.getLogger(Context.class.getName());
  logger.setLevel(Level.ALL);
  Handler handler = new Handler() {
    @Override
    public void publish(LogRecord record) {
      Context ctx = Context.current();
      Context previous = ctx.attach();
      ctx.detach(previous);
    }

    @Override
    public void flush() {
    }

    @Override
    public void close() throws SecurityException {
    }
  };
  logger.addHandler(handler);

  try {
    assertNotNull(Context.ROOT);
  } finally {
    logger.removeHandler(handler);
  }
}
 
源代码15 项目: Open-Lowcode   文件: OLcServer.java
public static void main(String args[]) {
	if (args.length != 1) {
		System.err.println("Error : syntax java OLcServer configfilepath");
		System.err.println("   Where configfilepath is a valid path to an Open Lowcode server");
		System.err.println("         configuration file");
	}

	Runtime.getRuntime().addShutdownHook(new Thread() {
		public void run() {
			System.err.println("starting shutdown sequence");
			try {

				PersistenceGateway.getStorage().closeConnections();

			} catch (RuntimeException e) {
				System.err.println("Error during exit connection close " + e.getMessage());
			}
			Logger logger = Logger.getLogger("");
			Handler[] handler = logger.getHandlers();
			for (int i = 0; i < handler.length; i++) {
				handler[i].close();
				logger.removeHandler(handler[i]);

			}
			System.err.println("logger closed. shutting down gracefully");
		}
	});

	serversingleton = new OLcServer(args[0]);
}
 
源代码16 项目: nadia   文件: NadiaProcessor.java
private void init(){
	init=true;
	startedOn = new Date();
	//format logging
	logger.setUseParentHandlers(false);	 
	CustomFormatter fmt = new CustomFormatter();
	Handler ch = new ConsoleHandler();
	ch.setFormatter(fmt);
	logger.addHandler(ch);
	
	logger.setLevel(Level.INFO);
}
 
源代码17 项目: api-mining   文件: Logging.java
/** Set up logging to file */
public static void setUpFileLogger(final Logger logger, final Level logLevel, final File logFile) {
	LogManager.getLogManager().reset();
	logger.setLevel(logLevel);
	final Handler handler = setUpFileHandler(logFile.getAbsolutePath());
	logger.addHandler(handler);
}
 
源代码18 项目: LicenseScout   文件: BaseFinderTest.java
/**
 * Initializes logging.
 * @throws Exception
 */
@BeforeClass
public static void setUpClass() throws Exception {
    Logger.getGlobal().setLevel(Level.FINEST);
    Handler consoleHandler = new ConsoleHandler();
    consoleHandler.setLevel(Level.FINEST);
    Logger.getGlobal().addHandler(consoleHandler);
    TestUtil.setDefaultMessageDigestAlgorithm();
}
 
源代码19 项目: opentelemetry-java   文件: LoggingMetricExporter.java
/**
 * Flushes the data.
 *
 * @return the result of the operation
 */
@Override
public ResultCode flush() {
  ResultCode resultCode = ResultCode.SUCCESS;
  for (Handler handler : logger.getHandlers()) {
    try {
      handler.flush();
    } catch (Throwable t) {
      resultCode = ResultCode.FAILURE;
    }
  }
  return resultCode;
}
 
源代码20 项目: gemfirexd-oss   文件: LogWrapper.java
/**
 * Removed all the handlers of the given {@link Logger} instance.
 *
 * @param logger {@link Logger} to be cleaned up.
 */
private static void cleanupLogger(Logger logger) {
  if (logger != null) {
    Handler[] handlers = logger.getHandlers();
    for (Handler handler : handlers) {
      handler.close();
      logger.removeHandler(handler);
    }
  }
}
 
源代码21 项目: rapidminer-studio   文件: Process.java
/**
 * Finishes the process and cleans up everything, including GUI.
 *
 * @since 7.4
 */
private void finishProcess(Handler logHandler) {
	stop();
	tearDown();
	if (logHandler != null) {
		getLogger().removeHandler(logHandler);
		logHandler.close();
	}
	ActionStatisticsCollector.getInstance().logExecutionFinished(this);
}
 
源代码22 项目: gcp-token-broker   文件: BrokerServer.java
private static void setLoggingLevel() {
    Level level = Level.parse(AppSettings.getInstance().getString(AppSettings.LOGGING_LEVEL));
    Logger root = Logger.getLogger("");
    root.setLevel(level);
    for (Handler handler : root.getHandlers()) {
        handler.setLevel(level);
    }
}
 
源代码23 项目: tomee   文件: LoggerCreator.java
@Override
public Logger call() throws Exception {
    if (logger == null) {
        synchronized (this) { // no need of lock for this part
            if (logger == null) {
                final Thread thread = Thread.currentThread();
                final ClassLoader originalLoader = thread.getContextClassLoader();
                thread.setContextClassLoader(ParentClassLoaderFinder.Helper.get());
                try {
                    try {
                        logger = Logger.getLogger(name);
                    } catch (final Exception e) {
                        logger = Logger.getLogger(name); // try again
                    }

                    // if level set through properties force it
                    final Properties p = SystemInstance.get().getProperties();
                    final String levelName = p.getProperty("logging.level." + logger.getName());
                    if (levelName != null) {
                        final Level level = Level.parse(levelName);
                        for (final Handler handler : logger.getHandlers()) {
                            handler.setLevel(level);
                        }
                    }
                } finally {
                    thread.setContextClassLoader(originalLoader);
                }
            }
        }
    }
    return logger;
}
 
源代码24 项目: cxf   文件: AbstractDelegatingLogger.java
public synchronized void removeHandler(Handler handler) {
    if (supportsHandlers()) {
        super.removeHandler(handler);
        return;
    }
    throw new UnsupportedOperationException();
}
 
源代码25 项目: android-uiconductor   文件: UicdCLI.java
private static void setRedirectOutputToFile(Path logFolder) throws IOException {
  Path logFilePath =
      Paths.get(logFolder.toString(), LOG_FILENAME_PREFIX + new Date().getTime() + ".txt");
  System.out.println("Starting print to file...\n" + logFilePath.toString());
  Handler fh = new FileHandler(logFilePath.toString());
  fh.setFormatter(new SimpleFormatter());

  // Remove the output in the console.
  LogManager.getLogManager().reset();
  Logger.getLogger("uicd").addHandler(fh);
}
 
源代码26 项目: jatecs   文件: ExecutionLogger.java
public ExecutionLogger() {
    super(ExecutionLogger.class.getName(), null);

    Handler h = new ConsoleHandler();
    h.setFormatter(new StatusOutputFormatter());
    addHandler(h);
    setUseParentHandlers(false);
    setLevel(Level.INFO);
}
 
源代码27 项目: netbeans   文件: FileUtilTest.java
/** Test recovery of FileUtil.createFolder(FileObject, String) method when
 * other thread created folder in the middle of processing (see #152219).
 */
public void testFolderAlreadyExists152219() {
    final FileObject folder = FileUtil.createMemoryFileSystem().getRoot();
    final String name = "subfolder";
    Handler handler = new Handler() {

        @Override
        public void publish(LogRecord record) {
            if (record.getMessage().equals("createFolder - before create folder if not exists.")) {
                try {
                    folder.createFolder(name);
                } catch (IOException ex) {
                    throw new RuntimeException(ex);
                }
            }
        }

        @Override
        public void flush() {
        }

        @Override
        public void close() throws SecurityException {
        }
    };
    Logger logger = Logger.getLogger(FileUtil.class.getName());
    logger.addHandler(handler);
    logger.setLevel(Level.FINEST);
    try {
        FileUtil.createFolder(folder, name);
    } catch (IOException ioe) {
        fail("FileUtil.createFolder(FileObject, String) should try to refresh folder because other thread can create folder before.");
    } finally {
        logger.removeHandler(handler);
    }
}
 
源代码28 项目: jatecs   文件: ExecutionLogger.java
public void print(String msg) {
    info(msg);
    _logger.info(msg);

    Handler handlers[] = getHandlers();
    for (int i = 0; i < handlers.length; i++)
        handlers[i].flush();
}
 
源代码29 项目: tomee   文件: Log4jLogger.java
public synchronized Handler[] getHandlers() {
    final List<Handler> ret = new ArrayList<>();
    final Enumeration<?> en = log.getAllAppenders();
    while (en.hasMoreElements()) {
        final Appender ap = (Appender) en.nextElement();
        if (ap instanceof HandlerWrapper) {
            ret.add(((HandlerWrapper) ap).getHandler());
        }
    }
    return ret.toArray(new Handler[ret.size()]);
}
 
源代码30 项目: grpc-java   文件: ContextTest.java
@Test
public void detachingNonCurrentLogsSevereMessage() {
  final AtomicReference<LogRecord> logRef = new AtomicReference<>();
  Handler handler = new Handler() {
    @Override
    public void publish(LogRecord record) {
      logRef.set(record);
    }

    @Override
    public void flush() {
    }

    @Override
    public void close() throws SecurityException {
    }
  };
  Logger logger = Logger.getLogger(Context.storage().getClass().getName());
  try {
    logger.addHandler(handler);
    Context initial = Context.current();
    Context base = initial.withValue(PET, "dog");
    // Base is not attached
    base.detach(initial);
    assertSame(initial, Context.current());
    assertNotNull(logRef.get());
    assertEquals(Level.SEVERE, logRef.get().getLevel());
  } finally {
    logger.removeHandler(handler);
  }
}
 
 类所在包
 同包方法