Java 类org.slf4j.impl.Log4jLoggerAdapter 实例源码

项目:tddl5    文件:DynamicLog4jAdapterLogger.java   
@Override
protected org.apache.log4j.Logger getLog4jLogger(Logger logger) {
    Log4jLoggerAdapter adapter = (Log4jLoggerAdapter) logger.getDelegate();
    try {
        return (org.apache.log4j.Logger) log4jField.get(adapter);
    } catch (Exception e) {
        throw new TddlNestableRuntimeException(e);
    }
}
项目:hbase    文件:HBaseTestingUtility.java   
/**
 * Switches the logger for the given class to DEBUG level.
 *
 * @param clazz  The class for which to switch to debug logging.
 */
public void enableDebug(Class<?> clazz) {
  Logger l = LoggerFactory.getLogger(clazz);
  if (l instanceof Log4JLogger) {
    ((Log4JLogger) l).getLogger().setLevel(org.apache.log4j.Level.DEBUG);
  } else if (l instanceof Log4jLoggerAdapter) {
    LogManager.getLogger(clazz).setLevel(org.apache.log4j.Level.DEBUG);
  } else if (l instanceof Jdk14Logger) {
    ((Jdk14Logger) l).getLogger().setLevel(java.util.logging.Level.ALL);
  }
}
项目:hbase    文件:LogLevel.java   
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response
    ) throws ServletException, IOException {

  // Do the authorization
  if (!HttpServer.hasAdministratorAccess(getServletContext(), request,
      response)) {
    return;
  }

  PrintWriter out = ServletUtil.initHTML(response, "Log Level");
  String logName = ServletUtil.getParameter(request, "log");
  String level = ServletUtil.getParameter(request, "level");

  if (logName != null) {
    out.println("<br /><hr /><h3>Results</h3>");
    out.println(MARKER
        + "Submitted Log Name: <b>" + logName + "</b><br />");

    Logger log = LoggerFactory.getLogger(logName);
    out.println(MARKER
        + "Log Class: <b>" + log.getClass().getName() +"</b><br />");
    if (level != null) {
      out.println(MARKER + "Submitted Level: <b>" + level + "</b><br />");
    }

    if (log instanceof Log4JLogger) {
      process(((Log4JLogger)log).getLogger(), level, out);
    } else if (log instanceof Jdk14Logger) {
      process(((Jdk14Logger)log).getLogger(), level, out);
    } else if (log instanceof Log4jLoggerAdapter) {
      process(LogManager.getLogger(logName), level, out);
    } else {
      out.println("Sorry, " + log.getClass() + " not supported.<br />");
    }
  }

  out.println(FORMS);
  out.println(ServletUtil.HTML_TAIL);
}
项目:hbase    文件:HttpRequestLog.java   
private static org.apache.log4j.Logger getLog4jLogger(String loggerName) {
  Logger logger = LoggerFactory.getLogger(loggerName);

  if (logger instanceof Log4JLogger) {
    Log4JLogger httpLog4JLog = (Log4JLogger)logger;
    return httpLog4JLog.getLogger();
  } else if (logger instanceof Log4jLoggerAdapter) {
    return LogManager.getLogger(loggerName);
  } else {
    return null;
  }
}
项目:commons-testing    文件:Log4jLogCapturer.java   
private static org.apache.log4j.Logger getLogger(final Logger slf4jLogger) {
    if (!(slf4jLogger instanceof Log4jLoggerAdapter))
        throw new IllegalArgumentException("SLF4J logger must be a Log4j logger, but was: " + slf4jLogger.getClass().getCanonicalName());
    try {
        return tryGetLogger((Log4jLoggerAdapter) slf4jLogger);
    } catch (Exception e) {
        throw new RuntimeException("Failed to enable log capture for Log4J", e);
    }
}
项目:guagua    文件:ZooKeeperUtils.java   
/**
 * Start embed zookeeper server in a child process.
 * 
 * @return null if start child process failed, non empty string if valid zookeeper server in child.
 */
public static String startChildZooKeeperProcess(String zkJavaOpts) throws IOException {
    // 1. prepare working dir
    String zooKeeperWorkingDir = getZooKeeperWorkingDir();
    boolean isSuccessful = createFolder(zooKeeperWorkingDir);

    if(!isSuccessful) {
        zooKeeperWorkingDir = getZooKeeperWorkingDir("zookeeper_" + System.currentTimeMillis());
        createFolder(zooKeeperWorkingDir);
    }

    // 2. prepare conf file
    final String confName = zooKeeperWorkingDir + File.separator + "zoo.cfg";
    int validZkPort = getValidZooKeeperPort();
    prepZooKeeperConf(zooKeeperWorkingDir, confName, validZkPort + "");
    // 3. prepare process buider command
    ProcessBuilder processBuilder = new ProcessBuilder();
    List<String> commandList = new ArrayList<String>();
    String javaHome = System.getProperty("java.home");
    if(javaHome == null) {
        throw new IllegalArgumentException("java.home is not set!");
    }

    commandList.add(javaHome + "/bin/java");
    String[] zkJavaOptsArray = zkJavaOpts.split(" ");
    if(zkJavaOptsArray != null) {
        commandList.addAll(Arrays.asList(zkJavaOptsArray));
    }
    commandList.add("-cp");
    commandList.add(findContainingJar(Log4jLoggerAdapter.class) + ":" + findContainingJar(Logger.class) + ":"
            + findContainingJar(org.apache.log4j.Logger.class) + ":" + findContainingJar(ZooKeeperUtils.class)
            + ":" + findContainingJar(QuorumPeerMain.class));
    commandList.add(ZooKeeperMain.class.getName());
    commandList.add(confName);
    processBuilder.command(commandList);
    File execDirectory = new File(zooKeeperWorkingDir);
    processBuilder.directory(execDirectory);
    processBuilder.redirectErrorStream(true);

    LOG.info("onlineZooKeeperServers: Attempting to start ZooKeeper server with command {} in directory {}.",
            commandList, execDirectory.toString());
    // 4. start process
    Process zkProcess = null;
    StreamCollector zkProcessCollector;
    synchronized(ZooKeeperUtils.class) {
        zkProcess = processBuilder.start();
        zkProcessCollector = new StreamCollector(zkProcess.getInputStream());
        zkProcessCollector.start();
    }
    Runtime.getRuntime().addShutdownHook(
            new Thread(new ZooKeeperShutdownHook(zkProcess, zkProcessCollector, zooKeeperWorkingDir)));
    LOG.info("onlineZooKeeperServers: Shutdown hook added.");

    // 5. check and wait for server just started.
    String hostname = getLocalHostName();
    if(isServerAlive(hostname, validZkPort)) {
        return hostname + ":" + validZkPort;
    } else {
        return null;
    }
}
项目:hbase    文件:TestLogLevel.java   
@Test (timeout=60000)
@SuppressWarnings("deprecation")
public void testDynamicLogLevel() throws Exception {
  String logName = TestLogLevel.class.getName();
  org.slf4j.Logger testlog = LoggerFactory.getLogger(logName);

  //only test Log4JLogger
  if (testlog instanceof Log4jLoggerAdapter) {
    Logger log = LogManager.getLogger(logName);
    log.debug("log.debug1");
    log.info("log.info1");
    log.error("log.error1");
    assertTrue(!Level.ERROR.equals(log.getEffectiveLevel()));

    HttpServer server = null;
    try {
      server = new HttpServer.Builder().setName("..")
          .addEndpoint(new URI("http://localhost:0")).setFindPort(true)
          .build();

      server.start();
      String authority = NetUtils.getHostPortString(server
          .getConnectorAddress(0));

      //servlet
      URL url =
          new URL("http://" + authority + "/logLevel?log=" + logName + "&level=" + Level.ERROR);
      out.println("*** Connecting to " + url);
      try (BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()))) {
        for(String line; (line = in.readLine()) != null; out.println(line));
      }
      log.debug("log.debug2");
      log.info("log.info2");
      log.error("log.error2");
      assertTrue(Level.ERROR.equals(log.getEffectiveLevel()));

      //command line
      String[] args = {"-setlevel", authority, logName, Level.DEBUG.toString()};
      LogLevel.main(args);
      log.debug("log.debug3");
      log.info("log.info3");
      log.error("log.error3");
      assertTrue(Level.DEBUG.equals(log.getEffectiveLevel()));
    } finally {
      if (server != null) {
        server.stop();
      }
    }
  }
  else {
    out.println(testlog.getClass() + " not tested.");
  }
}
项目:commons-testing    文件:Log4jLogCapturer.java   
private static org.apache.log4j.Logger tryGetLogger(final Log4jLoggerAdapter slf4jLogger) throws NoSuchFieldException, IllegalAccessException {
    final Field field = Log4jLoggerAdapter.class.getDeclaredField(LOGGER_FIELD_NAME);
    field.setAccessible(true);
    return (org.apache.log4j.Logger) field.get(slf4jLogger);
}
项目:commons-testing    文件:LogCapturerFactory.java   
@Override
protected boolean bindsToLoggingFramework(final Logger logger) {
    return (logger instanceof Log4jLoggerAdapter);
}
项目:commons-testing    文件:LogCapturerFactory.java   
@Override
protected String getName() {
    return Log4jLoggerAdapter.class.getName();
}