use of ch.qos.logback.core.FileAppender in project ha-bridge by bwssytems.
the class LoggingUtil method getLogFileInfos.
/**
* Get the logfile information for the roor logger.
*
* @return List of LogFileInfo obejcts
*/
public static List<LogFileInfo> getLogFileInfos() {
final LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
final List<LogFileInfo> logFileInfos = new ArrayList<LogFileInfo>();
final Logger logger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
final Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders();
while (it.hasNext()) {
final Appender<ILoggingEvent> appender = it.next();
if (appender instanceof FileAppender) {
final FileAppender<ILoggingEvent> fileAppender = (FileAppender<ILoggingEvent>) appender;
final File logFile = new File(fileAppender.getFile());
final LogFileInfo logFileInfo = new LogFileInfo();
logFileInfo.setFileName(logFile.getName());
logFileInfo.setFileLastChanged(new Date(logFile.lastModified()));
logFileInfo.setFileSize(logFile.length());
logFileInfos.add(logFileInfo);
}
}
return logFileInfos;
}
use of ch.qos.logback.core.FileAppender in project ha-bridge by bwssytems.
the class LoggingUtil method getLogFile.
/**
* Get the log file.
*
* @param logFileName The name of the log file
* @return The actual file
*/
public static File getLogFile(final String logFileName) {
if (logFileName == null) {
throw new IllegalArgumentException("logFileName cannot be null.");
}
final LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
final Logger logger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
final Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders();
while (it.hasNext()) {
final Appender<ILoggingEvent> appender = it.next();
if (appender instanceof FileAppender) {
final FileAppender<ILoggingEvent> fileAppender = (FileAppender<ILoggingEvent>) appender;
final File logFile = new File(fileAppender.getFile());
if (logFile.getName().equalsIgnoreCase(logFileName)) {
return logFile;
}
}
}
return null;
}
use of ch.qos.logback.core.FileAppender in project indy by Commonjava.
the class DiagnosticsManager method getDiagnosticBundle.
public File getDiagnosticBundle() throws IOException {
File out = createTempFile("diags");
Logger rootLogger = (Logger) LoggerFactory.getLogger("ROOT");
logger.info("Writing diagnostic bundle to: '{}'", out);
Appender<ILoggingEvent> appender = rootLogger.getAppender(FILE_LOGGER);
if (appender != null && (appender instanceof FileAppender)) {
try (ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(out))) {
File dir = new File(((FileAppender) appender).getFile()).getParentFile();
for (File f : dir.listFiles(file -> file.getName().endsWith(".log"))) {
String name = LOGS_DIR + "/" + f.getName();
logger.info("Adding {} to bundle zip: {}", name, out);
zip.putNextEntry(new ZipEntry(name));
try (InputStream in = new FileInputStream(f)) {
IOUtils.copy(in, zip);
}
}
logger.info("Adding thread dump to bundle zip: {}", out);
zip.putNextEntry(new ZipEntry(THREAD_DUMP_FILE));
zip.write(getThreadDumpString().getBytes());
zip.flush();
zip.close();
}
} else {
return null;
}
return out;
}
use of ch.qos.logback.core.FileAppender in project spring-boot by spring-projects.
the class LogbackConfigurationTests method filePatternCanBeOverridden.
@Test
void filePatternCanBeOverridden() throws JoranException {
JoranConfigurator configurator = new JoranConfigurator();
LoggerContext context = new LoggerContext();
configurator.setContext(context);
configurator.doConfigure(new File("src/test/resources/custom-file-log-pattern.xml"));
Appender<ILoggingEvent> appender = context.getLogger("ROOT").getAppender("FILE");
assertThat(appender).isInstanceOf(FileAppender.class);
Encoder<?> encoder = ((FileAppender<?>) appender).getEncoder();
assertThat(encoder).isInstanceOf(PatternLayoutEncoder.class);
assertThat(((PatternLayoutEncoder) encoder).getPattern()).isEqualTo("bar");
}
use of ch.qos.logback.core.FileAppender in project gocd by gocd.
the class DefaultPluginLoggingServiceIntegrationTest method shouldGetCurrentLogDirectoryByLookingAtFileAppenderOfRootLogger.
@Test
@DisabledOnOs(OS.WINDOWS)
void shouldGetCurrentLogDirectoryByLookingAtFileAppenderOfRootLogger() {
FileAppender fileAppender = new FileAppender();
fileAppender.setFile("/var/log/go-server/go-server.log");
DefaultPluginLoggingService service = Mockito.spy(new DefaultPluginLoggingService(systemEnvironment));
doReturn(fileAppender).when(service).getGoServerLogFileAppender();
String currentLogDirectory = service.getCurrentLogDirectory();
assertThat(currentLogDirectory).isEqualTo("/var/log/go-server");
}
Aggregations