@Override public String getLevel() { for(Level level: levels) if(logger.isEnabled(level)) return level.toString(); return "n/a"; }
sb.append(getThreadName()); sb.append(SPACE); sb.append(level.toString()); sb.append(SPACE); sb.append(msg.getFormattedMessage());
@GET @Timed @Path("/subsystems") @ApiOperation(value = "List all logger subsystems and their current levels") @Produces(MediaType.APPLICATION_JSON) public SubsystemSummary subsystems() { final Map<String, SingleSubsystemSummary> subsystems = Maps.newHashMap(); for (Map.Entry<String, Subsystem> subsystem : SUBSYSTEMS.entrySet()) { if (!isPermitted(RestPermissions.LOGGERS_READSUBSYSTEM, subsystem.getKey())) { continue; } try { final String category = subsystem.getValue().getCategory(); final Level level = getLoggerLevel(category); subsystems.put(subsystem.getKey(), SingleSubsystemSummary.create( subsystem.getValue().getTitle(), subsystem.getValue().getCategory(), subsystem.getValue().getDescription(), level.toString().toLowerCase(Locale.ENGLISH), level.intLevel())); } catch (Exception e) { LOG.error("Error while listing logger subsystem.", e); } } return SubsystemSummary.create(subsystems); }
sb.append(mgsLevel.toString()); sb.append(SPACE); if (Strings.isNotEmpty(logName)) {
@Override public Object parse(String value) { final LogLevel logLevel = new LogLevel(); logLevel.set_action(action); String name = null; if (action == LogLevelAction.REMOVE) { name = value; } else { String[] splits = value.split("="); Preconditions.checkArgument(splits.length == 2, "Invalid log string '%s'", value); name = splits[0]; splits = splits[1].split(":"); Integer timeout = 0; Level level = Level.valueOf(splits[0]); logLevel.set_reset_log_level(level.toString()); if (splits.length > 1) { timeout = Integer.parseInt(splits[1]); } logLevel.set_reset_log_level_timeout_secs(timeout); } Map<String, LogLevel> result = new HashMap<>(); result.put(name, logLevel); return result; } }
@GET @Timed @ApiOperation(value = "List all loggers and their current levels") @Produces(MediaType.APPLICATION_JSON) public LoggersSummary loggers() { final Collection<LoggerConfig> loggerConfigs = getLoggerConfigs(); final Map<String, SingleLoggerSummary> loggers = Maps.newHashMapWithExpectedSize(loggerConfigs.size()); for (LoggerConfig config : loggerConfigs) { if (!isPermitted(RestPermissions.LOGGERS_READ, config.getName())) { continue; } final Level level = config.getLevel(); loggers.put(config.getName(), SingleLoggerSummary.create(level.toString().toLowerCase(Locale.ENGLISH), level.intLevel())); } return LoggersSummary.create(loggers); }
private void listLoggers(final HttpServletResponse response) throws IOException { PrintWriter writer = null; try { writer = response.getWriter(); ConfLoggers confLoggers = new ConfLoggers(); Collection<LoggerConfig> loggerConfigs = conf.getLoggers().values(); loggerConfigs.forEach(lc -> confLoggers.getLoggers().add(new ConfLogger(lc.getName(), lc.getLevel().toString()))); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.writerWithDefaultPrettyPrinter().writeValue(writer, confLoggers); } catch (IOException e) { LOG.error("Caught an exception while processing Log4j2 configuration request", e); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return; } finally { if (writer != null) { writer.close(); } } response.setStatus(HttpServletResponse.SC_OK); } }
@ManagedOperation(description="Retrieve the category log level") @ManagedOperationParameters({@ManagedOperationParameter(name = "category", description = "the log4j2 category")}) public String getLevel(String category) { return LogManager.getLogger(category).getLevel().toString(); }
event.getMessage().getFormattedMessage(), event.getLoggerName(), eventLevel.toString(), marker == null ? null : marker.toString(), new DateTime(event.getTimeMillis(), DateTimeZone.UTC),
@Test public void argsCorrectlyBuildALogLevelFilter() { ExportLogsFunction.Args args = new ExportLogsFunction.Args(null, null, "info", false, false, false); assertThat(args.getLogLevel().toString()).isEqualTo("INFO"); assertThat(args.isThisLogLevelOnly()).isFalse(); assertThat(args.isIncludeLogs()).isTrue(); assertThat(args.isIncludeStats()).isTrue(); }
sb.append(level.toString()); sb.append(' '); sb.append(msg.getFormattedMessage());
/** * Sets an level setting with the provided setting key and level instance. * * @param key The setting key * @param level The setting value * @return The builder */ public Builder put(String key, Level level) { return put(key, level.toString()); }
private void testLevelLength(final int length, final String debug, final String warn) { final Message msg = new SimpleMessage("Hello"); LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.DEBUG) // .setMessage(msg).build(); final StringBuilder sb = new StringBuilder(); LevelPatternConverter converter = LevelPatternConverter.newInstance(null); converter.format(event, sb); assertEquals(Level.DEBUG.toString(), sb.toString()); final String[] opts = new String[] { "length=" + length }; converter = LevelPatternConverter.newInstance(opts); sb.setLength(0); converter.format(event, sb); assertEquals(debug, sb.toString()); event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.WARN) // .setMessage(msg).build(); sb.setLength(0); converter.format(event, sb); assertEquals(warn, sb.toString()); }
@Test public void testLevelMapWithLength() { final Message msg = new SimpleMessage("Hello"); LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.DEBUG) // .setMessage(msg).build(); final StringBuilder sb = new StringBuilder(); LevelPatternConverter converter = LevelPatternConverter.newInstance(null); converter.format(event, sb); assertEquals(Level.DEBUG.toString(), sb.toString()); final String[] opts = new String[] { "WARN=Warning, length=2" }; converter = LevelPatternConverter.newInstance(opts); sb.setLength(0); converter.format(event, sb); assertEquals("DE", sb.toString()); event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.WARN) // .setMessage(msg).build(); sb.setLength(0); converter.format(event, sb); assertEquals("Warning", sb.toString()); }
@Test public void testLevelLowerCase() { final Message msg = new SimpleMessage("Hello"); LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.DEBUG) // .setMessage(msg).build(); final StringBuilder sb = new StringBuilder(); LevelPatternConverter converter = LevelPatternConverter.newInstance(null); converter.format(event, sb); assertEquals(Level.DEBUG.toString(), sb.toString()); final String[] opts = new String[] { "lowerCase=true" }; converter = LevelPatternConverter.newInstance(opts); sb.setLength(0); converter.format(event, sb); assertEquals("debug", sb.toString()); event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.WARN) // .setMessage(msg).build(); sb.setLength(0); converter.format(event, sb); assertEquals("warn", sb.toString()); }
@Test public void testLevelMap() { final Message msg = new SimpleMessage("Hello"); LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.DEBUG) // .setMessage(msg).build(); final StringBuilder sb = new StringBuilder(); LevelPatternConverter converter = LevelPatternConverter.newInstance(null); converter.format(event, sb); assertEquals(Level.DEBUG.toString(), sb.toString()); final String[] opts = new String[] { "WARN=Warning, DEBUG=Debug, ERROR=Error, TRACE=Trace, INFO=Info" }; converter = LevelPatternConverter.newInstance(opts); sb.setLength(0); converter.format(event, sb); assertEquals("Debug", sb.toString()); event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.WARN) // .setMessage(msg).build(); sb.setLength(0); converter.format(event, sb); assertEquals("Warning", sb.toString()); }
@Test public void testLevelMapWithLengthAndLowerCase() { final Message msg = new SimpleMessage("Hello"); LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.DEBUG) // .setMessage(msg).build(); final StringBuilder sb = new StringBuilder(); LevelPatternConverter converter = LevelPatternConverter.newInstance(null); converter.format(event, sb); assertEquals(Level.DEBUG.toString(), sb.toString()); final String[] opts = new String[] { "WARN=Warning, length=2, lowerCase=true" }; converter = LevelPatternConverter.newInstance(opts); sb.setLength(0); converter.format(event, sb); assertEquals("de", sb.toString()); event = Log4jLogEvent.newBuilder() // .setLoggerName("MyLogger") // .setLevel(Level.WARN) // .setMessage(msg).build(); sb.setLength(0); converter.format(event, sb); assertEquals("Warning", sb.toString()); }
@Override public void append(LogEvent event) { expectations .add(new Expectation(event.getLevel().toString(), event.getLoggerName(), event.getMessage().getFormattedMessage())); }
@Override public Settings getValue(Settings current, Settings previous) { Settings.Builder builder = Settings.builder(); builder.put(current.filter(loggerPredicate)); for (String key : previous.keySet()) { if (loggerPredicate.test(key) && builder.keys().contains(key) == false) { if (Loggers.LOG_LEVEL_SETTING.getConcreteSetting(key).exists(settings) == false) { builder.putNull(key); } else { builder.put(key, Loggers.LOG_LEVEL_SETTING.getConcreteSetting(key).get(settings).toString()); } } } return builder.build(); }
public String getLevel() { for(Level level: levels) if(logger.isEnabled(level)) return level.toString(); return "n/a"; }