private void init() { logName = "PurgeUtilityLog." + getThreadName(); logger = Logger.getLogger( logName ); logger.setLevel( logLevel ); IPurgeUtilityLayout layout; if ( layoutClass == PurgeUtilityHTMLLayout.class ) { layout = new PurgeUtilityHTMLLayout( logLevel ); } else { layout = new PurgeUtilityTextLayout( logLevel ); } layout.setTitle( "Purge Utility Log" ); writeAppender = new WriterAppender( (Layout) layout, new OutputStreamWriter( outputStream, Charset.forName( "utf-8" ) ) ); logger.addAppender( writeAppender ); }
@Before public void start() { this.writer = new StringWriter(); this.appender = new WriterAppender(new PatternLayout("%p, %m%n"), this.writer); this.writer.getBuffer().setLength(0); Logger.getRootLogger().addAppender(this.appender); }
LogCapturer(org.apache.log4j.Logger logger) { this.logger = logger; Appender defaultAppender = org.apache.log4j.Logger.getRootLogger().getAppender("stdout"); if (defaultAppender == null) { defaultAppender = org.apache.log4j.Logger.getRootLogger().getAppender("console"); } final Layout layout = (defaultAppender == null) ? new PatternLayout() : defaultAppender.getLayout(); this.appender = new WriterAppender(layout, sw); this.logger.addAppender(this.appender); }
private WriterAppender getConsoleAppender(ByteArrayOutputStream os, Level level) { String loggingPattern = ((PatternLayout) Logger.getRootLogger().getAppender("CONSOLE").getLayout()).getConversionPattern(); WriterAppender appender = new WriterAppender(new PatternLayout(loggingPattern), os); appender.setThreshold(level); return appender; }
clientLogger = MaryUtils.getLogger(this.getName() + " client"); try { clientLogger.addAppender(new WriterAppender(new SimpleLayout(), new PrintWriter(infoSocket.getOutputStream(), true))); clientLogger.setLevel(Level.WARN);
clientLogger = MaryUtils.getLogger(this.getName() + " client"); try { clientLogger.addAppender(new WriterAppender(new SimpleLayout(), new PrintWriter(infoSocket.getOutputStream(), true))); clientLogger.setLevel(Level.WARN);
@Test public void logged_exceptions_are_formatted_per_line_when_treating_throwable_as_lines() throws Exception { ByteArrayOutputStream output = new ByteArrayOutputStream(); LineAwareLayout lineAwareLayout = new LineAwareLayout(); lineAwareLayout.setLineLayout(new PatternLayout("%m" + delimiter)); Appender appender = new WriterAppender(lineAwareLayout, output); appender.setName("TestLog"); appender.setLayout(lineAwareLayout); Logger testLogger = LogManager.getLogger("test-logger"); testLogger.addAppender(appender); testLogger.setLevel(Level.INFO); Exception ex = new Exception("SOMETHING BAD HAPPEN\nNO REALLY IT'S VERY BAD\n\ntrust me"); ex.setStackTrace(new StackTraceElement[]{new StackTraceElement("CLAZZ", "MEETOD", "FEEL", 123)}); testLogger.info(ex, ex); String expectedLog = String.join(delimiter, ex.toString().split("\n")) + delimiter + "\tat CLAZZ.MEETOD(FEEL:123)" + delimiter; assertEquals(expectedLog, output.toString()); }
@Test public void messages_over_multiple_lines_are_formatted_per_line() throws Exception { ByteArrayOutputStream output = new ByteArrayOutputStream(); LineAwareLayout lineAwareLayout = new LineAwareLayout(); lineAwareLayout.setLineLayout(new PatternLayout("%m" + delimiter)); Appender appender = new WriterAppender(lineAwareLayout, output); appender.setName("TestLog"); appender.setLayout(lineAwareLayout); Logger testLogger = LogManager.getLogger("test-logger"); testLogger.addAppender((appender)); testLogger.setLevel(Level.INFO); String eventMessage = "test message\nwith\nmultiple lines"; testLogger.info(eventMessage); String expectedLog = String.join(delimiter, eventMessage.split("\n")) + delimiter; assertEquals(expectedLog, output.toString()); }
@Test public void messages_get_the_message_format_applied_after_the_line_format() throws Exception { ByteArrayOutputStream output = new ByteArrayOutputStream(); String extraLine = "\nTHESE NEWLINES SHOULD NOT GET AFFECTED BY THE LINE FORMAT\n"; LineAwareLayout lineAwareLayout = new LineAwareLayout(); lineAwareLayout.setLineLayout(new PatternLayout("%m" + delimiter)); lineAwareLayout.setMessageLayout(new PatternLayout("%m" + extraLine)); Appender appender = new WriterAppender(lineAwareLayout, output); appender.setName("TestLog"); appender.setLayout(lineAwareLayout); Logger testLogger = LogManager.getLogger("test-logger"); testLogger.addAppender((appender)); testLogger.setLevel(Level.INFO); String eventMessage = "test message\nwith\nmultiple lines"; testLogger.info(eventMessage); String expectedLog = String.join(delimiter, eventMessage.split("\n")) + delimiter + extraLine; assertEquals(expectedLog, output.toString()); }
@Test public void logExceptionAfterDoAuthenticateThrowsNonAuthenticationException() { Logger logger = Logger.getLogger(AbstractAuthenticator.class); // NOTE: log4j is a test dependency ByteArrayOutputStream out = new ByteArrayOutputStream(); Layout layout = new SimpleLayout(); Appender appender = new WriterAppender(layout, out); logger.addAppender(appender); final String expectedExceptionMessage = "exception thrown for test logExceptionAfterDoAuthenticateThrowsNonAuthenticationException"; abstractAuthenticator = new AbstractAuthenticator() { protected AuthenticationInfo doAuthenticate(AuthenticationToken token) throws AuthenticationException { throw new IllegalArgumentException(expectedExceptionMessage); } }; AuthenticationToken token = newToken(); try{ abstractAuthenticator.authenticate(token); fail("the expected AuthenticationException was not thrown"); }catch(AuthenticationException expectedException){ } String logMsg = out.toString(); assertTrue(logMsg.contains("WARN")); assertTrue(logMsg.contains("java.lang.IllegalArgumentException: "+ expectedExceptionMessage)); logger.removeAppender(appender); }
/** * Cluster topology mismatch shall result in DataStreamer retrying cache update with the latest topology and * no error logged to the console. * * @throws Exception if failed */ @Test public void testRetryWhenTopologyMismatch() throws Exception { final int KEY = 1; final String VAL = "1"; cnt = 0; StringWriter logWriter = new StringWriter(); Appender logAppender = new WriterAppender(new SimpleLayout(), logWriter); Logger.getRootLogger().addAppender(logAppender); startGrids(MAX_CACHE_COUNT - 1); // cache-enabled nodes try (Ignite ignite = startGrid(MAX_CACHE_COUNT); IgniteDataStreamer<Integer, String> streamer = ignite.dataStreamer(DEFAULT_CACHE_NAME)) { needStaleTop = true; // simulate stale topology for the next action streamer.addData(KEY, VAL); } finally { needStaleTop = false; logWriter.flush(); Logger.getRootLogger().removeAppender(logAppender); logAppender.close(); } assertFalse(logWriter.toString().contains("DataStreamer will retry data transfer at stable topology")); }
.getLayout(); ByteArrayOutputStream os = new ByteArrayOutputStream(); WriterAppender appender = new WriterAppender(layout, os); appender.setImmediateFlush(true); appender.setThreshold(Level.INFO);
Logger.getRootLogger().getAppender("stdout").getLayout(); ByteArrayOutputStream os = new ByteArrayOutputStream(); WriterAppender appender = new WriterAppender(layout, os); appender.setThreshold(Level.ALL); Logger qlogger = Logger.getLogger(Job.class);
private void resolveClasses() { // This is to help a deadlock in log4j (see MNK-3461, MNK-3512) Logger l = new RootLogger(Level.ALL); Hierarchy h = new Hierarchy(l); l.addAppender(new WriterAppender(new PatternLayout(TCLogging.FILE_AND_JMX_PATTERN), new OutputStream() { @Override public void write(int b) { // } })); l.debug(h.toString(), new Throwable()); }
@Override protected void starting(final Description description) { writer = new StringWriter(); writerAppender = new WriterAppender(new SimpleLayout(), writer); final Logger logger = getLogger(); logger.setLevel(Level.ALL); logger.addAppender(writerAppender); }
private LogCapturer(Logger logger) { this.logger = logger; Layout layout = Logger.getRootLogger().getAppender("stdout").getLayout(); WriterAppender wa = new WriterAppender(layout, sw); logger.addAppender(wa); }
private LogCapturer(Logger logger) { this.logger = logger; Layout layout = Logger.getRootLogger().getAppender("stdout").getLayout(); WriterAppender wa = new WriterAppender(layout, sw); logger.addAppender(wa); }
LogCapturer(org.apache.log4j.Logger logger) { this.logger = logger; Appender defaultAppender = org.apache.log4j.Logger.getRootLogger().getAppender("stdout"); if (defaultAppender == null) { defaultAppender = org.apache.log4j.Logger.getRootLogger().getAppender("console"); } final Layout layout = (defaultAppender == null) ? new PatternLayout() : defaultAppender.getLayout(); this.appender = new WriterAppender(layout, sw); this.logger.addAppender(this.appender); }
public Logger createLogger(Writer writer) { TestLoggerRepository repo = new TestLoggerRepository(); Logger logger = repo.getLogger("test"); Log4Json layout = new Log4Json(); WriterAppender appender = new WriterAppender(layout, writer); logger.addAppender(appender); return logger; }
public Logger createLogger(Writer writer) { TestLoggerRepository repo = new TestLoggerRepository(); Logger logger = repo.getLogger("test"); Log4Json layout = new Log4Json(); WriterAppender appender = new WriterAppender(layout, writer); logger.addAppender(appender); return logger; }