/** * Converts the string passed as argument to a level. If the conversion fails, then this method returns * {@link #DEBUG}. * * @param sArg The name of the desired Level. * @return The Level associated with the String. */ public static Level toLevel(final String sArg) { return toLevel(sArg, Level.DEBUG); }
@PUT @Timed @ApiOperation(value = "Set the loglevel of a single logger", notes = "Provided level is falling back to DEBUG if it does not exist") @Path("/{loggerName}/level/{level}") @AuditEvent(type = AuditEventTypes.LOG_LEVEL_UPDATE) public void setSingleLoggerLevel( @ApiParam(name = "loggerName", required = true) @PathParam("loggerName") @NotEmpty String loggerName, @ApiParam(name = "level", required = true) @NotEmpty @PathParam("level") String level) { checkPermission(RestPermissions.LOGGERS_EDIT, loggerName); final Level newLevel = Level.toLevel(level.toUpperCase(Locale.ENGLISH)); setLoggerLevel(loggerName, newLevel); LOG.debug("Successfully set log level for logger \"{}\" to \"{}\"", loggerName, newLevel); }
super(name, messageFactory); final String lvl = props.getStringProperty(SimpleLoggerContext.SYSTEM_PREFIX + name + ".level"); this.level = Level.toLevel(lvl, defaultLevel); if (showShortLogName) { final int index = name.lastIndexOf(".");
@PUT @Timed @ApiOperation(value = "Set the loglevel of a whole subsystem", notes = "Provided level is falling back to DEBUG if it does not exist") @ApiResponses(value = { @ApiResponse(code = 404, message = "No such subsystem.") }) @Path("/subsystems/{subsystem}/level/{level}") @AuditEvent(type = AuditEventTypes.LOG_LEVEL_UPDATE) public void setSubsystemLoggerLevel( @ApiParam(name = "subsystem", required = true) @PathParam("subsystem") @NotEmpty String subsystemTitle, @ApiParam(name = "level", required = true) @PathParam("level") @NotEmpty String level) { if (!SUBSYSTEMS.containsKey(subsystemTitle)) { final String msg = "No such logging subsystem: [" + subsystemTitle + "]"; LOG.warn(msg); throw new NotFoundException(msg); } checkPermission(RestPermissions.LOGGERS_EDITSUBSYSTEM, subsystemTitle); final Subsystem subsystem = SUBSYSTEMS.get(subsystemTitle); final Level newLevel = Level.toLevel(level.toUpperCase(Locale.ENGLISH)); setLoggerLevel(subsystem.getCategory(), newLevel); LOG.debug("Successfully set log level for subsystem \"{}\" to \"{}\"", subsystem.getTitle(), newLevel); }
/** * Removes a StatusListener. * * @param listener The StatusListener to remove. */ public void removeListener(final StatusListener listener) { closeSilently(listener); listenersLock.writeLock().lock(); try { listeners.remove(listener); int lowest = Level.toLevel(DEFAULT_STATUS_LEVEL, Level.WARN).intLevel(); for (final StatusListener statusListener : listeners) { final int level = statusListener.getStatusLevel().intLevel(); if (lowest < level) { lowest = level; } } listenersLevel = lowest; } finally { listenersLock.writeLock().unlock(); } }
/** * putTopologyLogLevel. * @param client client * @param namedLogLevel namedLogLevel * @param id id * @return putTopologyLogLevel. * @throws TException TException */ public static Map<String, Object> putTopologyLogLevel(Nimbus.Iface client, Map<String, Map> namedLogLevel, String id) throws TException { Map<String, Map> namedLoggerlevels = namedLogLevel; for (Map.Entry<String, Map> entry : namedLoggerlevels.entrySet()) { String loggerNMame = entry.getKey(); String targetLevel = (String) entry.getValue().get("target_level"); Long timeout = (Long) entry.getValue().get("timeout"); LogLevel logLevel = new LogLevel(); if (targetLevel == null) { logLevel.set_action(LogLevelAction.REMOVE); logLevel.unset_target_log_level(); } else { logLevel.set_action(LogLevelAction.UPDATE); logLevel.set_target_log_level(org.apache.logging.log4j.Level.toLevel(targetLevel).name()); logLevel.set_reset_log_level_timeout_secs(Math.toIntExact(timeout)); } LogConfig logConfig = new LogConfig(); logConfig.put_to_named_logger_level(loggerNMame, logLevel); client.setLogConfig(id, logConfig); } return UIHelpers.getTopolgoyLogConfig(client.getLogConfig(id)); }
final Level logLevel = Level.toLevel(level, Level.ALL); final MemoryAppender memoryAppender = (MemoryAppender) appender; final List<InternalLogMessage> messages = new ArrayList<>(limit);
public SimpleLoggerContext() { props = new PropertiesUtil("log4j2.simplelog.properties"); showContextMap = props.getBooleanProperty(SYSTEM_PREFIX + "showContextMap", false); showLogName = props.getBooleanProperty(SYSTEM_PREFIX + "showlogname", false); showShortName = props.getBooleanProperty(SYSTEM_PREFIX + "showShortLogname", true); showDateTime = props.getBooleanProperty(SYSTEM_PREFIX + "showdatetime", false); final String lvl = props.getStringProperty(SYSTEM_PREFIX + "level"); defaultLevel = Level.toLevel(lvl, Level.ERROR); dateTimeFormat = showDateTime ? props.getStringProperty(SimpleLoggerContext.SYSTEM_PREFIX + "dateTimeFormat", DEFAULT_DATE_TIME_FORMAT) : null; final String fileName = props.getStringProperty(SYSTEM_PREFIX + "logFile", SYSTEM_ERR); PrintStream ps; if (SYSTEM_ERR.equalsIgnoreCase(fileName)) { ps = System.err; } else if (SYSTEM_OUT.equalsIgnoreCase(fileName)) { ps = System.out; } else { try { final FileOutputStream os = new FileOutputStream(fileName); ps = new PrintStream(os); } catch (final FileNotFoundException fnfe) { ps = System.err; } } this.stream = ps; }
private StatusLogger(final String name, final MessageFactory messageFactory) { super(name, messageFactory); final String dateFormat = PROPS.getStringProperty(STATUS_DATE_FORMAT, Strings.EMPTY); final boolean showDateTime = !Strings.isEmpty(dateFormat); this.logger = new SimpleLogger("StatusLogger", Level.ERROR, false, true, showDateTime, false, dateFormat, messageFactory, PROPS, System.err); this.listenersLevel = Level.toLevel(DEFAULT_STATUS_LEVEL, Level.WARN).intLevel(); // LOG4J2-1813 if system property "log4j2.debug" is defined, print all status logging if (isDebugPropertyEnabled()) { logger.setLevel(Level.TRACE); } }
@Override public void setLevel(Level level) { this.level = level; org.apache.logging.log4j.Level l = org.apache.logging.log4j.Level.toLevel(level.getName(), org.apache.logging.log4j.Level.ERROR); logger.setLevel(l); logger.getContext().getConfiguration().getLoggerConfig(this.logger.getName()).setLevel(l); }
@Test public void testDefault() { final Level level = Level.toLevel("Information", Level.ERROR); assertNotNull(level); assertEquals(Level.ERROR, level); }
@Test public void testGoodLevels() { final Level level = Level.toLevel("INFO"); assertNotNull(level); assertEquals(Level.INFO, level); }
public DefaultFilter(String loggerName, String logLevel) { super(); this.loggerName = StringUtils.stripToNull(loggerName); this.logLevel = StringUtils.isBlank(logLevel) ? null : Level.toLevel(logLevel); }
@Override public void doAction(ActionEvent ev) { String levelString = ev.getActionCommand().substring(ActionNames.LOG_LEVEL_PREFIX.length()); log.warn("Setting root log level: {}", levelString); Configurator.setRootLevel(org.apache.logging.log4j.Level.toLevel(levelString)); }
@Override public Level convert(String value) { Level l = Level.toLevel(value); if (l == null) { throw new ParameterException("Value " + value + " cannot be converted to a log4j level. " + "Available values are: " + Arrays.toString(Level.values())); } return l; } }
private static AsyncQueueFullPolicy createDiscardingAsyncQueueFullPolicy() { final PropertiesUtil util = PropertiesUtil.getProperties(); final String level = util.getStringProperty(PROPERTY_NAME_DISCARDING_THRESHOLD_LEVEL, Level.INFO.name()); final Level thresholdLevel = Level.toLevel(level, Level.INFO); LOGGER.debug("Creating custom DiscardingAsyncQueueFullPolicy(discardThreshold:{})", thresholdLevel); return new DiscardingAsyncQueueFullPolicy(thresholdLevel); } }
private void setLogLevel(final String logLevel) { Object ctx = LogManager.getContext(false); if (ctx instanceof LoggerContext) { LoggerContext context = (LoggerContext) ctx; Level level = Level.toLevel(logLevel); Configuration configuration = context.getConfiguration(); LoggerConfig loggerConfig = configuration.getLoggerConfig(LogManager.ROOT_LOGGER_NAME); loggerConfig.setLevel(level); context.updateLoggers(); this.debug = !logLevel.toLowerCase().equals("info"); } }
public void forcedLog(final String fqcn, final Priority level, final Object message, final Throwable t) { final org.apache.logging.log4j.Level lvl = org.apache.logging.log4j.Level.toLevel(level.toString()); final Message msg = message instanceof Message ? (Message) message : new ObjectMessage(message); logger.logMessage(fqcn, lvl, null, msg, t); }
private StatusLogger(final String name, final MessageFactory messageFactory) { super(name, messageFactory); this.logger = new SimpleLogger("StatusLogger", Level.ERROR, false, true, false, false, Strings.EMPTY, messageFactory, PROPS, System.err); this.listenersLevel = Level.toLevel(DEFAULT_STATUS_LEVEL, Level.WARN).intLevel(); // LOG4J2-1813 if system property "log4j2.debug" is defined, print all status logging if (isDebugPropertyEnabled()) { logger.setLevel(Level.TRACE); } }
@Override public void setLevel(Level level) { this.level = level; org.apache.logging.log4j.Level l = org.apache.logging.log4j.Level.toLevel(level.getName(), org.apache.logging.log4j.Level.ERROR); logger.setLevel(l); logger.getContext().getConfiguration().getLoggerConfig(this.logger.getName()).setLevel(l); }