java类org.apache.log4j.FileAppender的实例源码

Log4jLoggerAdapter.java 文件源码 项目:dubbo-learning 阅读 26 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
public Log4jLoggerAdapter() {
    try {
        org.apache.log4j.Logger logger = LogManager.getRootLogger();
           if (logger != null) {
               Enumeration<Appender> appenders = logger.getAllAppenders();
               if (appenders != null) {
                   while (appenders.hasMoreElements()) {
                       Appender appender = appenders.nextElement();
                       if (appender instanceof FileAppender) {
                           FileAppender fileAppender = (FileAppender)appender;
                           String filename = fileAppender.getFile();
                           file = new File(filename);
                           break;
                       }
                   }
               }
           }
       } catch (Throwable t) {
       }
}
LogPageHandler.java 文件源码 项目:DubboCode 阅读 18 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
public LogPageHandler() {
    try {
        org.apache.log4j.Logger logger = LogManager.getRootLogger();
        if (logger != null) {
            Enumeration<Appender> appenders = logger.getAllAppenders();
            if (appenders != null) {
                while (appenders.hasMoreElements()) {
                    Appender appender = appenders.nextElement();
                    if (appender instanceof FileAppender) {
                        FileAppender fileAppender = (FileAppender)appender;
                        String filename = fileAppender.getFile();
                        file = new File(filename);
                        break;
                    }
                }
            }
        }
    } catch (Throwable t) {
    }
   }
Log4jLoggerAdapter.java 文件源码 项目:DubboCode 阅读 23 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
public Log4jLoggerAdapter() {
    try {
        org.apache.log4j.Logger logger = LogManager.getRootLogger();
           if (logger != null) {
               Enumeration<Appender> appenders = logger.getAllAppenders();
               if (appenders != null) {
                   while (appenders.hasMoreElements()) {
                       Appender appender = appenders.nextElement();
                       if (appender instanceof FileAppender) {
                           FileAppender fileAppender = (FileAppender)appender;
                           String filename = fileAppender.getFile();
                           file = new File(filename);
                           break;
                       }
                   }
               }
           }
       } catch (Throwable t) {
       }
}
Action.java 文件源码 项目:charles-rest 阅读 26 收藏 0 点赞 0 评论 0
/**
 * Setup the Log4J logger for this action thread.
 * @return String path to log file
 * @throws IOException If there's something wrong with the FileAppender.
 */
private void setupLog4jForAction() throws IOException {
    String loggerName = "Action_" + this.id;
    org.apache.log4j.Logger log4jLogger = org.apache.log4j.Logger.getLogger("Action_" + this.id);
    String logRoot = System.getProperty("LOG_ROOT");
    if(logRoot == null) {
        logRoot = ".";
    }
    String logFilePath = logRoot + "/charles-rest/ActionsLogs/" + this.id + ".log";

    File logFile = new File(logFilePath);
    logFile.getParentFile().mkdirs();
    logFile.createNewFile();//you have to create the file yourself since FileAppender acts funny under linux if the file doesn't already exist.

    FileAppender fa = new FileAppender(new PatternLayout("%d %p - %m%n"), logFilePath);
    fa.setName(this.id + "_appender");
    fa.setThreshold(Level.DEBUG);
    log4jLogger.addAppender(fa);
    log4jLogger.setLevel(Level.DEBUG);

    this.logger = LoggerFactory.getLogger(loggerName);

}
Logging.java 文件源码 项目:eagle 阅读 33 收藏 0 点赞 0 评论 0
/**
 * Sets up audit logging to log to a file named based on the current time (in
 * ms).
 *
 * The logger is configured to effectively ignore the log level.
 *
 * @throws IOException
 *           if the audit log file could not be opened for writing.
 */
public static void configureAuditLogging() throws IOException {
  PatternLayout layout = new PatternLayout(AUDIT_LOG_FORMAT);
  // This assumes that no other daemon will be started within 1 millisecond.
  String filename = String.format(AUDIT_LOG_FILENAME_FORMAT,
      System.currentTimeMillis(), new Random().nextInt(Integer.MAX_VALUE));
  FileAppender fileAppender = new FileAppender(layout, filename);
  Logger auditLogger = Logger.getLogger(Logging.AUDIT_LOGGER_NAME);
  auditLogger.addAppender(fileAppender);
  auditLogger.setLevel(Level.ALL);
  /*
   * We don't want audit messages to be appended to the main appender, which
   * is intended for potentially user-facing messages.
   */
  auditLogger.setAdditivity(false);
}
PreLaunchUpdateApplication.java 文件源码 项目:bigtable-sql 阅读 17 收藏 0 点赞 0 评论 0
private static void initializeLogger() throws IOException
{
    String logConfigFileName = ApplicationArguments.getInstance().getLoggingConfigFileName();
    if (logConfigFileName != null) {
        PropertyConfigurator.configure(logConfigFileName);
    } else {
        ApplicationFiles appFiles = new ApplicationFiles();

        String logMessagePattern = "%-4r [%t] %-5p %c %x - %m%n";
        Layout layout = new PatternLayout(logMessagePattern);

        File logsDir = new File(appFiles.getUserSettingsDirectory(), "logs");
        File updateLogFile = new File(logsDir, "updater.log");

        FileAppender appender = new FileAppender(layout, updateLogFile.getAbsolutePath());

        LoggerController.registerLoggerFactory(new SquirrelLoggerFactory(appender, false));
    }
}
XMLLayoutTestCase.java 文件源码 项目:cacheonix-core 阅读 18 收藏 0 点赞 0 评论 0
public void locationInfo() throws Exception {
  XMLLayout xmlLayout = new XMLLayout();
  xmlLayout.setLocationInfo(true);
  root.addAppender(new FileAppender(xmlLayout, TEMP, false));
  common();
  Transformer.transform(
    TEMP, FILTERED,
    new Filter[] {
      new LineNumberFilter(),
      new XMLTimestampFilter(), 
      new XMLLineAttributeFilter(),
      new JunitTestRunnerFilter(),
      new SunReflectFilter()
    });
  assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.2"));
}
XMLLayoutTestCase.java 文件源码 项目:cacheonix-core 阅读 19 收藏 0 点赞 0 评论 0
public void testNull() throws Exception {
  XMLLayout xmlLayout = new XMLLayout();
  root.addAppender(new FileAppender(xmlLayout, TEMP, false));

  String oldThreadName = Thread.currentThread().getName();
  Thread.currentThread().setName("main");

  logger.debug("hi");
  logger.debug(null);
  Exception e = new Exception((String) null);
  logger.debug("hi", e);

  Thread.currentThread().setName(oldThreadName);

  Transformer.transform(
    TEMP, FILTERED,
    new Filter[] { new LineNumberFilter(),
        new XMLTimestampFilter(),  
        new JunitTestRunnerFilter(),
        new SunReflectFilter()});
  assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.null"));
}
XMLLayoutTestCase.java 文件源码 项目:cacheonix-core 阅读 18 收藏 0 点赞 0 评论 0
/**
 * Tests the format of the MDC portion of the layout to ensure
 * the key-value pairs we put in turn up in the output file.
 * @throws Exception
 */
public void testMDC() throws Exception {
  XMLLayout xmlLayout = new XMLLayout();
  xmlLayout.setProperties(true);
  root.addAppender(new FileAppender(xmlLayout, TEMP, false));

  Hashtable context = MDC.getContext();
  if (context != null) {
      context.clear();
  }
  MDC.put("key1", "val1");
  MDC.put("key2", "val2");

  logger.debug("Hello");
  Transformer.transform(
    TEMP, FILTERED,
    new Filter[] { new LineNumberFilter(),
        new JunitTestRunnerFilter(),
        new XMLTimestampFilter()});
  assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.mdc.1"));
}
XMLLayoutTestCase.java 文件源码 项目:cacheonix-core 阅读 20 收藏 0 点赞 0 评论 0
public void testMDCEscaped() throws Exception {
  XMLLayout xmlLayout = new XMLLayout();
  xmlLayout.setProperties(true);
  root.addAppender(new FileAppender(xmlLayout, TEMP, false));

  Hashtable context = MDC.getContext();
  if (context != null) {
      context.clear();
  }
  MDC.put("blahAttribute", "<blah value='blah'>");
  MDC.put("<blahKey value='blah'/>", "blahValue");

  logger.debug("Hello");
  Transformer.transform(
    TEMP, FILTERED,
    new Filter[] { new LineNumberFilter(),
        new JunitTestRunnerFilter(),
        new XMLTimestampFilter() });
  assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.mdc.2"));
}


问题


面经


文章

微信
公众号

扫码关注公众号