use of org.apache.logging.log4j.Level in project herd by FINRAOS.
the class Log4j2LoggingHelper method executeWithoutLogging.
@Override
public void executeWithoutLogging(List<Class<?>> loggingClasses, Command command) throws Exception {
// Get the logger context and it's associated configuration.
LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false);
Configuration configuration = loggerContext.getConfiguration();
// Temporarily turn off logging.
Map<LoggerConfig, Level> loggerToOriginalLevel = new HashMap<>();
for (Class<?> loggingClass : loggingClasses) {
LoggerConfig loggerConfig = loggingClass == null ? null : configuration.getLoggerConfig(loggingClass.getName());
Level originalLevel = loggerConfig == null ? null : loggerConfig.getLevel();
if (loggerConfig != null) {
loggerConfig.setLevel(Level.OFF);
loggerToOriginalLevel.put(loggerConfig, originalLevel);
}
}
// This causes all Loggers to re-fetch information from their LoggerConfig.
loggerContext.updateLoggers();
try {
// Execute the command.
command.execute();
} finally {
for (Map.Entry<LoggerConfig, Level> entry : loggerToOriginalLevel.entrySet()) {
LoggerConfig loggerConfig = entry.getKey();
Level originalLevel = entry.getValue();
// Turn the original logging back on.
loggerConfig.setLevel(originalLevel);
}
}
}
use of org.apache.logging.log4j.Level in project tutorials by eugenp.
the class MyServiceTest method testCustomLevel.
@Test
public void testCustomLevel() {
Level myLevel = Level.forName("NEW_LEVEL", 350);
logger.log(myLevel, "Custom Level Message");
logger.log(Level.getLevel("NEW_XML_LEVEL"), "Custom XML Level Message");
}
use of org.apache.logging.log4j.Level in project spring-integration by spring-projects.
the class Log4j2LevelAdjuster method apply.
@Override
public Statement apply(final Statement base, final FrameworkMethod method, Object target) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
Configuration config = ctx.getConfiguration();
Map<Class<?>, Level> classLevels = new HashMap<>();
for (Class<?> cls : Log4j2LevelAdjuster.this.classes) {
String className = cls.getName();
LoggerConfig loggerConfig = config.getLoggerConfig(className);
LoggerConfig specificConfig = loggerConfig;
if (!loggerConfig.getName().equals(className)) {
specificConfig = new LoggerConfig(className, Log4j2LevelAdjuster.this.level, true);
specificConfig.setParent(loggerConfig);
config.addLogger(className, specificConfig);
}
classLevels.put(cls, specificConfig.getLevel());
specificConfig.setLevel(Log4j2LevelAdjuster.this.level);
}
Map<String, Level> categoryLevels = new HashMap<>();
for (String category : Log4j2LevelAdjuster.this.categories) {
LoggerConfig loggerConfig = config.getLoggerConfig(category);
LoggerConfig specificConfig = loggerConfig;
if (!loggerConfig.getName().equals(category)) {
specificConfig = new LoggerConfig(category, Log4j2LevelAdjuster.this.level, true);
specificConfig.setParent(loggerConfig);
config.addLogger(category, specificConfig);
}
categoryLevels.put(category, specificConfig.getLevel());
specificConfig.setLevel(Log4j2LevelAdjuster.this.level);
}
ctx.updateLoggers();
logger.debug("++++++++++++++++++++++++++++ " + "Overridden log level setting for: " + Arrays.toString(Log4j2LevelAdjuster.this.classes) + " and " + Arrays.toString(Log4j2LevelAdjuster.this.categories) + " for test " + method.getName());
try {
base.evaluate();
} finally {
logger.debug("++++++++++++++++++++++++++++ " + "Restoring log level setting for: " + Arrays.toString(Log4j2LevelAdjuster.this.classes) + " and " + Arrays.toString(Log4j2LevelAdjuster.this.categories) + " for test " + method.getName());
for (Class<?> cls : Log4j2LevelAdjuster.this.classes) {
LoggerConfig loggerConfig = config.getLoggerConfig(cls.getName());
loggerConfig.setLevel(classLevels.get(cls));
}
for (String category : Log4j2LevelAdjuster.this.categories) {
LoggerConfig loggerConfig = config.getLoggerConfig(category);
loggerConfig.setLevel(categoryLevels.get(category));
}
ctx.updateLoggers();
}
}
};
}
use of org.apache.logging.log4j.Level in project core by CubeEngine.
the class Log4jProxyTarget method setProxyLevel.
@Override
public void setProxyLevel(LogLevel level) {
Level l4jLevel = levelMap.get(level);
if (l4jLevel == null) {
l4jLevel = Level.INFO;
}
this.handle.setLevel(l4jLevel);
}
use of org.apache.logging.log4j.Level in project core by CubeEngine.
the class Log4jProxyTarget method publish.
@Override
protected void publish(LogEntry entry) {
Level level = levelMap.get(entry.getLevel());
if (level == null) {
level = Level.INFO;
}
this.handle.log(level, MacroProcessor.processSimpleMacros(entry.getMessage(), entry.getArgs()), entry.getThrowable());
}
Aggregations