assertNotNull(group); final Layout<String> layout = PatternLayout.newBuilder().withPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN) .build();
@Test public void testCallersFqcnTruncationByDroppingPartsFromFront() throws Exception { final PatternLayout layout = PatternLayout.newBuilder().withPattern("%C{-1} %m") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event1 = Log4jLogEvent.newBuilder() .setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger") final PatternLayout layout = PatternLayout.newBuilder().withPattern("%C{-3} %m") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event1 = Log4jLogEvent.newBuilder() .setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger") final PatternLayout layout = PatternLayout.newBuilder().withPattern("%class{-3} %m") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event1 = Log4jLogEvent.newBuilder() .setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger") final PatternLayout layout = PatternLayout.newBuilder().withPattern("%C{-20} %m") .withConfiguration(ctx.getConfiguration()).build(); final LogEvent event1 = Log4jLogEvent.newBuilder() .setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger")
/** * Creates console appender with some reasonable default logging settings. * * @return Logger with auto configured console appender. */ public Logger createConsoleLogger() { // from http://logging.apache.org/log4j/2.x/manual/customconfig.html final LoggerContext ctx = impl.getContext(); final Configuration cfg = ctx.getConfiguration(); PatternLayout.Builder builder = PatternLayout.newBuilder() .withPattern("%d{ISO8601}][%-5p][%t][%c{1}] %m%n") .withCharset(Charset.defaultCharset()) .withAlwaysWriteExceptions(false) .withNoConsoleNoAnsi(false); PatternLayout layout = builder.build(); ConsoleAppender.Builder consoleAppenderBuilder = ConsoleAppender.newBuilder() .withName(CONSOLE_APPENDER) .withLayout(layout); ConsoleAppender consoleApp = consoleAppenderBuilder.build(); consoleApp.start(); cfg.addAppender(consoleApp); cfg.getRootLogger().addAppender(consoleApp, Level.TRACE, null); ctx.updateLoggers(cfg); return ctx.getRootLogger(); }
PatternLayout patternLayout = newBuilder().withPattern(originHost).withConfiguration(config) .withNoConsoleNoAnsi(false).withAlwaysWriteExceptions(false).build(); layout = PatternLayout.newBuilder().withPattern(layoutString).build();
PatternLayout patternLayout = newBuilder().withPattern(originHost).withConfiguration(config) .withNoConsoleNoAnsi(false).withAlwaysWriteExceptions(false).build();
PatternLayout patternLayout = newBuilder().withPattern(originHost).withConfiguration(config) .withNoConsoleNoAnsi(false).withAlwaysWriteExceptions(false).build();
new GelfLogField("pid", JavaPIDUtil.getProcessName(), null, null), new GelfLogField("nodeId", LocalNodeManager.LOCAL_NODE_ID, null, null), new GelfLogField("thread", null, null, PatternLayout.newBuilder().withAlwaysWriteExceptions(false).withPattern("%t").build()), new GelfLogField("logger", null, null, PatternLayout.newBuilder().withAlwaysWriteExceptions(false).withPattern("%c").build()), new GelfLogField("msgId", null, "msgId", null), },
@PluginAttribute("footer") final String footerPattern) { return newBuilder() .withPattern(pattern) .withPatternSelector(patternSelector) .withConfiguration(config) .withRegexReplacement(replace) .withCharset(charset) .withAlwaysWriteExceptions(alwaysWriteExceptions) .withNoConsoleNoAnsi(noConsoleNoAnsi) .withHeader(headerPattern) .withFooter(footerPattern) .build();
Configuration configuration = context.getConfiguration(); LoggerConfig rootLogger = configuration.getRootLogger(); PatternLayout layout = PatternLayout.newBuilder().withConfiguration(configuration) .withPattern("%m%n").build(); ConsoleAppender consoleAppender = ConsoleAppender.newBuilder().withName(CONSOLE_APPENDER_NAME) .setConfiguration(configuration)
final PatternLayout layout = PatternLayout.newBuilder() .withPattern(pattern) .withConfiguration(configuration) .withAlwaysWriteExceptions(false) .build(); return new ColumnConfig(name, layout, null, false, isUnicode, isClob);
System.setProperty("samza.container.name", "samza-container-1"); PatternLayout layout = PatternLayout.newBuilder().withPattern("%m").build(); MockSystemProducerAppender systemProducerAppender = MockSystemProducerAppender.createAppender("testName", null, layout, false, null, null); systemProducerAppender.queueTimeoutS = 1;
public static void createFileAppender(String logDir, String logFile) { logDir = logDir + SystemProperties.fileSeparator + logFile; final LoggerContext context = (LoggerContext) LogManager.getContext(false); final Configuration config = context.getConfiguration(); /*Layout layout = PatternLayout.createLayout("%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n", null, config, null, null,true, true, null, null );*/ Layout layout = PatternLayout.newBuilder() .withConfiguration(config) .withPattern("%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n") .build(); FileAppender.Builder builder = FileAppender.newBuilder(); builder.setConfiguration(config); builder.withFileName(logDir); builder.withAppend(false); builder.withLocking(false); builder.withName("File"); builder.withIgnoreExceptions(false); builder.withImmediateFlush(true); builder.withBufferedIo(false); builder.withBufferSize(0); builder.withLayout(layout); builder.withAdvertise(false); Appender appender = builder.build(); appender.start(); config.addAppender(appender); AppenderRef.createAppenderRef("File", null, null); config.getRootLogger().addAppender(appender, Level.DEBUG, null); context.updateLoggers(); }
public static void initializeLog() { // Create a log file that is ready to have text appended to it try { File logFile = getLogFile(); LoggerContext context = LoggerContext.getContext(false); Configuration configuration = context.getConfiguration(); LoggerConfig rootLogger = configuration.getRootLogger(); rootLogger.removeAppender("IGV_ROLLING_APPENDER"); PatternLayout layout = PatternLayout.newBuilder().withConfiguration(configuration) .withPattern("%p [%d{ISO8601}] [%F:%L] %m%n").build(); RollingFileAppender appender = RollingFileAppender.newBuilder().withName("IGV_ROLLING_APPENDER") .setConfiguration(configuration) .withFileName(logFile.getAbsolutePath()).withAppend(true) .withFilePattern(getIgvDirectory().getAbsolutePath() + File.pathSeparator + "igv-%i.log") .withLayout(layout) .withPolicy(SizeBasedTriggeringPolicy.createPolicy("1000K")) .build(); appender.start(); configuration.addAppender(appender); rootLogger.addAppender(appender, Level.ALL, null); context.updateLoggers(); } catch (IOException e) { // Can't create log file, just log to console as set in log4j2.xml log.error("Error creating log file", e); } }
private static void addFileAppender() throws IOException { String tempDir = System.getProperty("java.io.tmpdir"); File logFile = new File(tempDir, "meghanada_server.log"); Object ctx = LogManager.getContext(false); if (ctx instanceof LoggerContext) { try (LoggerContext context = (LoggerContext) ctx) { Configuration configuration = context.getConfiguration(); LoggerConfig loggerConfig = configuration.getLoggerConfig(LogManager.ROOT_LOGGER_NAME); FileAppender fileAppender = FileAppender.newBuilder() .withName("file") .withLayout( PatternLayout.newBuilder() .withPattern("[%d][%-5.-5p][%-14.-14c{1}:%4L] %-22.-22M - %m%n") .build()) .withFileName(logFile.getCanonicalPath()) .build(); configuration.addAppender(fileAppender); loggerConfig.addAppender(fileAppender, Level.ERROR, null); context.updateLoggers(); } } }
public static void setAppender() { LoggerContext ctx = (LoggerContext) LogManager.getContext(true); org.apache.logging.log4j.core.config.Configuration config = ctx.getConfiguration(); // If the event logger already exists, do nothing if (config.getLoggers().containsKey(LOGGERNAME)) { return; } Layout<String> layout = PatternLayout.newBuilder().withPattern("%msg%n").withConfiguration(config).build(); Appender jsonappender = ConsoleAppender.newBuilder() .withName(APPENDERNAME) .setTarget(ConsoleAppender.Target.SYSTEM_ERR) .withLayout(layout) .setConfiguration(config) .build(); jsonappender.start(); config.addAppender(jsonappender); AppenderRef ref = AppenderRef.createAppenderRef(APPENDERNAME, null, null); LoggerConfig loggerConfig = LoggerConfig.createLogger(false, LOGLEVEL, LOGGERNAME, "false", new AppenderRef[] {ref}, new Property[]{}, config, (Filter) null); loggerConfig.addAppender(jsonappender, null, null); config.removeLogger(LOGGERNAME); config.addLogger(LOGGERNAME, loggerConfig); ctx.updateLoggers(); } }
private boolean activateOptions() { ConnectionFactory rabbitConnectionFactory = createRabbitConnectionFactory(); if (rabbitConnectionFactory != null) { this.routingKeyLayout = PatternLayout.newBuilder() .withPattern(this.routingKeyPattern.replaceAll("%X\\{applicationId\\}", this.applicationId)) .withCharset(Charset.forName(this.charset)) .withAlwaysWriteExceptions(false) .withNoConsoleNoAnsi(true) .build(); this.connectionFactory = new CachingConnectionFactory(rabbitConnectionFactory); if (StringUtils.hasText(this.connectionName)) { this.connectionFactory.setConnectionNameStrategy(cf -> this.connectionName); } if (this.addresses != null) { this.connectionFactory.setAddresses(this.addresses); } if (this.clientConnectionProperties != null) { ConnectionFactoryConfigurationUtils.updateClientConnectionProperties(this.connectionFactory, this.clientConnectionProperties); } setUpExchangeDeclaration(); this.senderPool = Executors.newCachedThreadPool(); return true; } return false; }
@Override public ColumnMapping build() { if (pattern != null) { layout = PatternLayout.newBuilder() .withPattern(pattern) .withConfiguration(configuration) .build(); } if (!(layout != null || literal != null || Date.class.isAssignableFrom(type) || ReadOnlyStringMap.class.isAssignableFrom(type) || ThreadContextMap.class.isAssignableFrom(type) || ThreadContextStack.class.isAssignableFrom(type))) { LOGGER.error("No layout or literal value specified and type ({}) is not compatible with " + "ThreadContextMap, ThreadContextStack, or java.util.Date", type); return null; } return new ColumnMapping(name, layout, literal, type); } }
/** * Creates console appender with some reasonable default logging settings. * * @return Logger with auto configured console appender. */ public Logger createConsoleLogger() { // from http://logging.apache.org/log4j/2.x/manual/customconfig.html final LoggerContext ctx = impl.getContext(); final Configuration cfg = ctx.getConfiguration(); PatternLayout.Builder builder = PatternLayout.newBuilder() .withPattern("%d{ISO8601}][%-5p][%t][%c{1}] %m%n") .withCharset(Charset.defaultCharset()) .withAlwaysWriteExceptions(false) .withNoConsoleNoAnsi(false); PatternLayout layout = builder.build(); ConsoleAppender.Builder consoleAppenderBuilder = ConsoleAppender.newBuilder() .withName(CONSOLE_APPENDER) .withLayout(layout); ConsoleAppender consoleApp = consoleAppenderBuilder.build(); consoleApp.start(); cfg.addAppender(consoleApp); cfg.getRootLogger().addAppender(consoleApp, Level.TRACE, null); ctx.updateLoggers(cfg); return ctx.getRootLogger(); }
@PluginFactory public static GelfLogField createField(@PluginConfiguration final Configuration config, @PluginAttribute("name") String name, @PluginAttribute("literal") String literalValue, @PluginAttribute("mdc") String mdc, @PluginAttribute("pattern") String pattern) { final boolean isPattern = Strings.isNotEmpty(pattern); final boolean isLiteralValue = Strings.isNotEmpty(literalValue); final boolean isMDC = Strings.isNotEmpty(mdc); if (Strings.isEmpty(name)) { LOGGER.error("The name is empty"); return null; } if ((isPattern && isLiteralValue) || (isPattern && isMDC) || (isLiteralValue && isMDC)) { LOGGER.error("The pattern, literal, and mdc attributes are mutually exclusive."); return null; } if (isPattern) { PatternLayout patternLayout = newBuilder().withPattern(pattern).withConfiguration(config) .withNoConsoleNoAnsi(false).withAlwaysWriteExceptions(false).build(); return new GelfLogField(name, null, null, patternLayout); } return new GelfLogField(name, literalValue, mdc, null); } }
@PluginFactory public static GelfLogField createField(@PluginConfiguration final Configuration config, @PluginAttribute("name") String name, @PluginAttribute("literal") String literalValue, @PluginAttribute("mdc") String mdc, @PluginAttribute("pattern") String pattern) { final boolean isPattern = Strings.isNotEmpty(pattern); final boolean isLiteralValue = Strings.isNotEmpty(literalValue); final boolean isMDC = Strings.isNotEmpty(mdc); if (Strings.isEmpty(name)) { LOGGER.error("The name is empty"); return null; } if ((isPattern && isLiteralValue) || (isPattern && isMDC) || (isLiteralValue && isMDC)) { LOGGER.error("The pattern, literal, and mdc attributes are mutually exclusive."); return null; } if (isPattern) { PatternLayout patternLayout = newBuilder().withPattern(pattern).withConfiguration(config) .withNoConsoleNoAnsi(false).withAlwaysWriteExceptions(false).build(); return new GelfLogField(name, null, null, patternLayout); } return new GelfLogField(name, literalValue, mdc, null); } }