Class MemoryAppender
- java.lang.Object
-
- ch.qos.logback.core.spi.ContextAwareBase
-
- ch.qos.logback.core.AppenderBase<E>
-
- ch.qos.logback.core.read.ListAppender<ch.qos.logback.classic.spi.ILoggingEvent>
-
- com.netflix.spinnaker.kork.test.log.MemoryAppender
-
- All Implemented Interfaces:
ch.qos.logback.core.Appender<ch.qos.logback.classic.spi.ILoggingEvent>,ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.spi.FilterAttachable<ch.qos.logback.classic.spi.ILoggingEvent>,ch.qos.logback.core.spi.LifeCycle
public class MemoryAppender extends ch.qos.logback.core.read.ListAppender<ch.qos.logback.classic.spi.ILoggingEvent>Store log events to facilitate assertions. Inspired by https://www.baeldung.com/junit-asserting-logs.
-
-
Constructor Summary
Constructors Constructor Description MemoryAppender(java.lang.Class loggerClass)Construct a MemoryAppender and start capturing debug (and more severe) log messages.MemoryAppender(java.lang.Class loggerClass, ch.qos.logback.classic.Level level)Construct a MemoryAppender and start capturing logs.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longcountEventsForLevel(ch.qos.logback.classic.Level level)Count log messages at a particular leveljava.util.List<java.lang.String>layoutSearch(java.lang.String string, ch.qos.logback.classic.Level level)Return laid out log messages at a particular level that contain a stringvoidreset()Clear captured log messagesjava.util.List<java.lang.String>search(java.lang.String string, ch.qos.logback.classic.Level level)Return log messages at a particular level that contain a string-
Methods inherited from class ch.qos.logback.core.AppenderBase
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, start, stop, toString
-
Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext
-
-
-
-
Constructor Detail
-
MemoryAppender
public MemoryAppender(java.lang.Class loggerClass)
Construct a MemoryAppender and start capturing debug (and more severe) log messages.- Parameters:
loggerClass- capture log events generated by this class
-
MemoryAppender
public MemoryAppender(java.lang.Class loggerClass, ch.qos.logback.classic.Level level)Construct a MemoryAppender and start capturing logs.- Parameters:
loggerClass- capture log events generated by this classlevel- capture log events up to this level
-
-
Method Detail
-
reset
public void reset()
Clear captured log messages
-
countEventsForLevel
public long countEventsForLevel(ch.qos.logback.classic.Level level)
Count log messages at a particular level
-
layoutSearch
public java.util.List<java.lang.String> layoutSearch(java.lang.String string, ch.qos.logback.classic.Level level)Return laid out log messages at a particular level that contain a string- Parameters:
string- the string to look forlevel- the log level- Returns:
- all log messages that satisfy the criteria
-
search
public java.util.List<java.lang.String> search(java.lang.String string, ch.qos.logback.classic.Level level)Return log messages at a particular level that contain a string- Parameters:
string- the string to look forlevel- the log level- Returns:
- all log messages that satisfy the criteria
-
-