差異處
這裏顯示兩個版本的差異處。
java:junit:tech:capture_log4j_output [2018/04/10 14:18] tony 建立 |
java:junit:tech:capture_log4j_output [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>junit}} | ||
- | ====== How to verify the Log4j output? ====== | ||
- | ===== Problem ===== | ||
- | ===== How to? ===== | ||
- | <code java> | ||
- | private StringBuffer mSB; | ||
- | private StringBufferOutputStream mSBOutputStream; | ||
- | private WriterAppender testAppender; | ||
- | |||
- | @Before | ||
- | public void setUp() throws Exception { | ||
- | mSB = new StringBuffer(); | ||
- | mSBOutputStream = new StringBufferOutputStream(mSB); | ||
- | |||
- | Writer w = new OutputStreamWriter(mSBOutputStream); | ||
- | testAppender = new WriterAppender(); | ||
- | testAppender.setLayout(new PatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN)); | ||
- | testAppender.setName("test"); | ||
- | testAppender.activateOptions(); | ||
- | testAppender.setWriter(w); | ||
- | |||
- | LogManager.getLogger(TimeWatcherBuilder.class).addAppender(testAppender); | ||
- | } | ||
- | </code> | ||
- | |||
- | <code java> | ||
- | @After | ||
- | public void teardown() throws SchedulerException{ | ||
- | LogManager.getLogger(TimeWatcherBuilder.class).removeAppender(testAppender); | ||
- | } | ||
- | </code> | ||
- | ===== Reference ===== | ||
- | * [[https://stackoverflow.com/questions/6995946/log4j-how-do-i-redirect-an-outputstream-or-writer-to-loggers-writers|How to redirect the outputstream or writer to loggers writers?]] | ||
- | |||
- | ===== ===== | ||
- | ---- | ||
- | \\ | ||
- | ~~DISQUS~~ |