org.apache.logging.log4j.core.appender.FileAppender类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(12.4k)|赞(0)|评价(0)|浏览(118)

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

FileAppender介绍

[英]File Appender.
[中]文件追加器。

代码示例

代码示例来源:origin: apache/drill

public void localJobDebugger(int exitVal, String taskId) {
 StringBuilder sb = new StringBuilder();
 sb.append("\n");
 sb.append("Task failed!\n");
 sb.append("Task ID:\n  " + taskId + "\n\n");
 sb.append("Logs:\n");
 console.printError(sb.toString());
 for (Appender appender : ((Logger) LogManager.getRootLogger()).getAppenders().values()) {
  if (appender instanceof FileAppender) {
   console.printError(((FileAppender) appender).getFileName());
  } else if (appender instanceof RollingFileAppender) {
   console.printError(((RollingFileAppender) appender).getFileName());
  }
 }
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

final Layout<String> layout = createPatternLayout();
final FileAppender appender = FileAppender.newBuilder()
  .withFileName(FILE_NAME)
  .withName("test")
  appender.start();
  final File file = new File(FILE_NAME);
  assertTrue("Appender did not start", appender.isStarted());
  Assert.assertNotEquals(createOnDemand, Files.exists(PATH));
  long curLen = file.length();
        .setTimeMillis(System.currentTimeMillis()).build();
    try {
      appender.append(event);
      curLen = file.length();
      assertTrue("File length: " + curLen, curLen > prevLen);
  appender.stop();
assertFalse("Appender did not stop", appender.isStarted());

代码示例来源:origin: apache/geode

/**
 * Add an appender to Log4j which sends all INFO+ messages to a separate file which will be used
 * later to scan for suspect strings. The pattern of the messages conforms to the original log
 * format so that hydra will be able to parse them.
 */
private static void addSuspectFileAppender(final String workspaceDir) {
 final String suspectFilename = new File(workspaceDir, SUSPECT_FILENAME).getAbsolutePath();
 final LoggerContext appenderContext =
   ((org.apache.logging.log4j.core.Logger) LogManager
     .getLogger(Configuration.MAIN_LOGGER_NAME))
       .getContext();
 final PatternLayout layout = PatternLayout.createLayout(
   "[%level{lowerCase=true} %date{yyyy/MM/dd HH:mm:ss.SSS z} <%thread> tid=%tid] %message%n%throwable%n",
   null, null, null, Charset.defaultCharset(), true, false, "", "");
 final FileAppender fileAppender = FileAppender.createAppender(suspectFilename, "true", "false",
   DUnitLauncher.class.getName(), "true", "false", "false", "0", layout, null, null, null,
   appenderContext.getConfiguration());
 fileAppender.start();
 LoggerConfig loggerConfig =
   appenderContext.getConfiguration().getLoggerConfig(Configuration.MAIN_LOGGER_NAME);
 loggerConfig.addAppender(fileAppender, Level.INFO, null);
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

@Test
public void testLazyCreate() throws Exception {
  final Layout<String> layout = createPatternLayout();
  // @formatter:off
  final FileAppender appender = FileAppender.newBuilder()
    .withFileName(FILE_NAME)
    .withName("test")
    .withImmediateFlush(false)
    .withIgnoreExceptions(false)
    .withBufferedIo(false)
    .withBufferSize(1)
    .withLayout(layout)
    .withCreateOnDemand(createOnDemand)
    .build();
  // @formatter:on
  Assert.assertEquals(createOnDemand, appender.getManager().isCreateOnDemand());
  try {
    Assert.assertNotEquals(createOnDemand, Files.exists(PATH));
    appender.start();
    Assert.assertNotEquals(createOnDemand, Files.exists(PATH));
  } finally {
    appender.stop();
  }
  Assert.assertNotEquals(createOnDemand, Files.exists(PATH));
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

/**
   * Tests https://issues.apache.org/jira/browse/LOG4J2-1620
   */
  @Test
  public void testDefaultImmediateFlush() {
    Assert.assertTrue(FileAppender.newBuilder().isImmediateFlush());
  }
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

.build();
final FileAppender appender = FileAppender.newBuilder()
  .withFileName(LOG_FILE)
  .withAppend(false)
  .build();
appender.start();
config.addAppender(appender);
final AppenderRef ref = AppenderRef.createAppenderRef("File", null, null);

代码示例来源:origin: Waikato/wekaDeeplearning4j

appenderBuilder.withLayout(layout);
FileAppender appender = appenderBuilder.build();
appender.start();
context.getRootLogger().addAppender(appender);

代码示例来源:origin: ldbc/ldbc_graphalytics

public static void appendFileLogger(Level level, String name, Path filePath) {
  final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
  final Configuration config = ctx.getConfiguration();
  Layout layout = PatternLayout.createLayout("%d{HH:mm} [%-5p] %msg%n", null, config, null, null, true, false, null, null);
  Appender appender = FileAppender.createAppender(filePath.toFile().getAbsolutePath(), "true", "false", name, "true",
      "false", "false", "8192", layout, null, "false", null, config);
  appender.start();
  config.getRootLogger().addAppender(appender, level, null);
  ctx.updateLoggers();
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

/**
   * Validates that the code pattern we use to add an appender on the fly
   * works with a basic appender that is not the new OutputStream appender or
   * new Writer appender.
   */
  @Test
  public void testUpdatePatternWithFileAppender() {
    final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
    final Configuration config = ctx.getConfiguration();
    // @formatter:off
    final Appender appender = FileAppender.newBuilder()
      .withFileName("target/" + getClass().getName() + ".log")
      .withAppend(false)
      .withName("File")
      .withIgnoreExceptions(false)
      .withBufferedIo(false)
      .withBufferSize(4000)
      .setConfiguration(config)
      .build();
    // @formatter:on
    appender.start();
    config.addAppender(appender);
    ConfigurationTestUtils.updateLoggers(appender, config);
    LogManager.getLogger().error("FOO MSG");
  }
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

@Test
  public void testFileName() {
    final String name = fileApp.getFileName();
    final int year = Calendar.getInstance().get(Calendar.YEAR);
    assertTrue("Date was not substituted: " + name, name.contains(Integer.toString(year)));
  }
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

final Layout<String> layout = createPatternLayout();
final FileAppender appender = FileAppender.newBuilder()
  .withFileName(FILE_NAME)
  .withName("test")
  .build();
Assert.assertEquals(createOnDemand, appender.getManager().isCreateOnDemand());
try {
  appender.start();
  assertTrue("Appender did not start", appender.isStarted());
  final boolean exists = Files.exists(PATH);
  final String msg = String.format("concurrent = %s, createOnDemand = %s, file exists = %s", concurrent, createOnDemand,
        .setTimeMillis(System.currentTimeMillis()).build();
    try {
      appender.append(logEvent);
      Thread.sleep(25); // Give up control long enough for another thread/process to occasionally do
  appender.stop();
assertFalse("Appender did not stop", appender.isStarted());

代码示例来源:origin: com.github.redhatqe.byzantine/byzantine

/**
 * Makes a FileAppender with the most common options
 *
 * @param filename
 * @param layout
 * @param name
 * @return
 */
public static FileAppender makeFileAppender(String filename, PatternLayout layout, String name) {
  return FileAppender.newBuilder()
      .withFileName(filename)
      .withBufferedIo(true)
      .withLayout(layout)
      .withName(name)
      .build();
}

代码示例来源:origin: com.threatconnect.sdk.core/threatconnect-sdk

public static void addFileAppender(final String loggerPath, final File logFile, final AppConfig appConfig)
{
  // retrieve the logger context
  LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false);
  Configuration configuration = loggerContext.getConfiguration();
  
  // retrieve the root logger config
  LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerPath);
  loggerConfig.setLevel(Level.toLevel(appConfig.getTcLogLevel()));
  
  // Define log pattern layout
  PatternLayout layout = PatternLayout.createLayout(DEFAULT_LOGGER_PATTERN, null, null, null,
    Charset.defaultCharset(), false, false, null, null);
  
  // create the appenders
  FileAppender fileAppender =
    FileAppender.createAppender(logFile.getAbsolutePath(), "true", "false", "fileAppender",
      "true", "true", "true", "8192", layout, null, "false", null, null);
  fileAppender.start();
  
  // add the appenders
  loggerConfig.addAppender(fileAppender, Level.toLevel(appConfig.getTcLogLevel()), null);
  loggerContext.updateLoggers();
}

代码示例来源:origin: apache/ignite

/** {@inheritDoc} */
@Nullable @Override public String fileName() {
  for (Logger log = impl; log != null; log = log.getParent()) {
    for (Appender a : log.getAppenders().values()) {
      if (a instanceof FileAppender)
        return ((FileAppender)a).getFileName();
      if (a instanceof RollingFileAppender)
        return ((RollingFileAppender)a).getFileName();
      if (a instanceof RoutingAppender) {
        try {
          RoutingAppender routing = (RoutingAppender)a;
          Field appsFiled = routing.getClass().getDeclaredField("appenders");
          appsFiled.setAccessible(true);
          Map<String, AppenderControl> appenders = (Map<String, AppenderControl>)appsFiled.get(routing);
          for (AppenderControl control : appenders.values()) {
            Appender innerApp = control.getAppender();
            if (innerApp instanceof FileAppender)
              return normalize(((FileAppender)innerApp).getFileName());
            if (innerApp instanceof RollingFileAppender)
              return normalize(((RollingFileAppender)innerApp).getFileName());
          }
        }
        catch (IllegalAccessException | NoSuchFieldException e) {
          error("Failed to get file name (was the implementation of log4j2 changed?).", e);
        }
      }
    }
  }
  return null;
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

.build();
final FileAppender appender = FileAppender.newBuilder()
  .withFileName(file.getAbsolutePath())
  .withName("test")
  appender.start();
  assertTrue("Appender did not start", appender.isStarted());
  Assert.assertNotEquals(createOnDemand, Files.exists(path));
  long curLen = file.length();
        .setTimeMillis(System.currentTimeMillis()).build();
    try {
      appender.append(event);
      curLen = file.length();
      assertTrue("File length: " + curLen, curLen > prevLen);
  appender.stop();
assertFalse("Appender did not stop", appender.isStarted());

代码示例来源:origin: mopemope/meghanada-server

private static void addFileAppender() throws IOException {
 String tempDir = System.getProperty("java.io.tmpdir");
 File logFile = new File(tempDir, "meghanada_server.log");
 Object ctx = LogManager.getContext(false);
 if (ctx instanceof LoggerContext) {
  try (LoggerContext context = (LoggerContext) ctx) {
   Configuration configuration = context.getConfiguration();
   LoggerConfig loggerConfig = configuration.getLoggerConfig(LogManager.ROOT_LOGGER_NAME);
   FileAppender fileAppender =
     FileAppender.newBuilder()
       .withName("file")
       .withLayout(
         PatternLayout.newBuilder()
           .withPattern("[%d][%-5.-5p][%-14.-14c{1}:%4L] %-22.-22M - %m%n")
           .build())
       .withFileName(logFile.getCanonicalPath())
       .build();
   configuration.addAppender(fileAppender);
   loggerConfig.addAppender(fileAppender, Level.ERROR, null);
   context.updateLoggers();
  }
 }
}

代码示例来源:origin: apache/hive

/**
 * Get path of the log file for user to see on the WebUI.
 */
public static String getLogFilePath() {
 String logFilePath = null;
 org.apache.logging.log4j.Logger rootLogger = LogManager.getRootLogger();
 if (rootLogger instanceof org.apache.logging.log4j.core.Logger) {
  org.apache.logging.log4j.core.Logger coreLogger =
    (org.apache.logging.log4j.core.Logger)rootLogger;
  for (Appender appender : coreLogger.getAppenders().values()) {
   if (appender instanceof FileAppender) {
    logFilePath = ((FileAppender) appender).getFileName();
   } else if (appender instanceof RollingFileAppender) {
    logFilePath = ((RollingFileAppender) appender).getFileName();
   } else if (appender instanceof RollingRandomAccessFileAppender) {
    logFilePath = ((RollingRandomAccessFileAppender) appender).getFileName();
   }
  }
 }
 return logFilePath;
}

代码示例来源:origin: org.apache.logging.log4j/log4j-core

.build();
final FileAppender appender = FileAppender.newBuilder()
  .withFileName(file.getAbsolutePath())
  .withName("test")
  appender.start();
  assertTrue("Appender did not start", appender.isStarted());
  long curLen = file.length();
  long prevLen = curLen;
        .setTimeMillis(System.currentTimeMillis()).build();
    try {
      appender.append(event);
      curLen = file.length();
      assertTrue("File length: " + curLen, curLen > prevLen);
  assertEquals(group, Files.readAttributes(path, PosixFileAttributes.class).group().getName());
} finally {
  appender.stop();
assertFalse("Appender did not stop", appender.isStarted());

代码示例来源:origin: ops4j/org.ops4j.pax.logging

final String advertiseUri,
  final Configuration config) {
return FileAppender.<B>newBuilder()
  .withAdvertise(Boolean.parseBoolean(advertise))
  .withAdvertiseUri(advertiseUri)

代码示例来源:origin: apache/drill

console.printInfo("Execution log at: " + ((FileAppender) appender).getFileName());
} else if (appender instanceof RollingFileAppender) {
 console.printInfo("Execution log at: " + ((RollingFileAppender) appender).getFileName());

相关文章

微信公众号

最新文章

更多