String getCurrentLogDirectory() { try { FileAppender fileAppender = getGoServerLogFileAppender(); String fileName = fileAppender.rawFileProperty(); return new File(fileName).getAbsoluteFile().getParent(); } catch (Exception e) { return "."; } }
@Override public Map<String, Object> asJson() { LinkedHashMap<String, Object> json = new LinkedHashMap<>(); json.put("loc.config.dir", systemEnvironment.configDir().getAbsolutePath()); List<Logger> loggers = LOGGER_CONTEXT.getLoggerList(); Appender[] appenders = getAppenders(loggers); for (int i = 0; i < appenders.length; i++) { Appender appender = appenders[i]; if (!isFileAppender(appender)) { continue; } FileAppender fileAppender = (FileAppender) appender; File logFile = new File(fileAppender.rawFileProperty()); json.put("loc.log.root." + i, new File(logFile.getAbsolutePath()).getParent()); json.put("loc.log.basename." + i, logFile.getName()); } return json; }
private void initializeLoggerForPluginId(String pluginId) { if (alreadyInitialized(pluginId)) { return; } synchronized (pluginId.intern()) { if (alreadyInitialized(pluginId)) { return; } synchronized (appenderCreationLock) { FileAppender<ILoggingEvent> pluginAppender = getAppender(pluginId); ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(PLUGIN_LOGGER_PREFIX + "." + pluginId); logger.setAdditive(false); logger.setLevel(systemEnvironment.pluginLoggingLevel(pluginId)); logger.addAppender(pluginAppender); if (systemEnvironment.consoleOutToStdout()) { ConsoleAppender<ILoggingEvent> consoleAppender = new ConsoleAppender<>(); consoleAppender.setEncoder(LogHelper.encoder("%d{ISO8601} %5p [%t] %c{1}:%L [plugin-" + pluginId + "] - %m%n")); logger.setAdditive(false); logger.setLevel(systemEnvironment.pluginLoggingLevel(pluginId)); consoleAppender.start(); logger.addAppender(consoleAppender); } loggingServiceLogger.debug("Plugin with ID: " + pluginId + " will log to: " + pluginAppender.rawFileProperty()); } } }
private void assertPluginLogFile(String pluginId, String expectedPluginLogFileName) { SystemEnvironment systemEnvironment = mock(SystemEnvironment.class); DefaultPluginLoggingService loggingService = new DefaultPluginLoggingService(systemEnvironment); loggingService.debug(pluginId, "some-logger-name", "message"); ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("plugin." + pluginId); ArrayList<Appender<ILoggingEvent>> appenders = new ArrayList<>(); logger.iteratorForAppenders().forEachRemaining(new Consumer<Appender<ILoggingEvent>>() { @Override public void accept(Appender<ILoggingEvent> iLoggingEventAppender) { appenders.add(iLoggingEventAppender); } }); String loggingDirectory = loggingService.getCurrentLogDirectory(); assertThat(appenders.size(), is(1)); assertThat(new File(((FileAppender) appenders.get(0)).rawFileProperty()), is(new File(loggingDirectory, expectedPluginLogFileName))); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }
public String getParentsRawFileProperty() { return parent.rawFileProperty(); } }