本文整理了Java中org.apache.logging.log4j.core.appender.FileAppender
类的一些代码示例,展示了FileAppender
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FileAppender
类的具体详情如下:
包路径:org.apache.logging.log4j.core.appender.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());
内容来源于网络,如有侵权,请联系作者删除!