Class LogsSelector

java.lang.Object
ru.vyarus.dropwizard.guice.test.log.LogsSelector
Direct Known Subclasses:
RecordedLogs

public class LogsSelector extends Object
Log records selector object. To avoid tons of selection methods with different parameters, all selection methods return sub-selector object for further selections. At any selection step events could be obtained with events() or messages().
Since:
28.02.2025
  • Field Details

    • list

      protected final List<ch.qos.logback.classic.spi.ILoggingEvent> list
      Events.
  • Constructor Details

    • LogsSelector

      public LogsSelector(List<ch.qos.logback.classic.spi.ILoggingEvent> list)
      Create collector.
      Parameters:
      list - events list
  • Method Details

    • empty

      public boolean empty()
      Returns:
      true when no logs recorded
    • count

      public int count()
      Returns:
      count of log records
    • events

      public List<ch.qos.logback.classic.spi.ILoggingEvent> events()
      Returns:
      list of raw events
    • messages

      public List<String> messages()
      Returns:
      formatted messages (without logger class, raw message)
    • messages

      public List<String> messages(Function<ch.qos.logback.classic.spi.ILoggingEvent,String> mapper)
      Parameters:
      mapper - mapper function
      Returns:
      messages after custom formatter
    • lastEvent

      public ch.qos.logback.classic.spi.ILoggingEvent lastEvent()
      Returns:
      the last recorded event
    • lastMessage

      public String lastMessage()
      Returns:
      the last recorded message
    • has

      public boolean has(String loggerName)
      Parameters:
      loggerName - logger name
      Returns:
      true if logged messages found for required logger
    • has

      public boolean has(Class<?> logger)
      Parameters:
      logger - logger class
      Returns:
      true if logged messages found for required logger
    • has

      public boolean has(org.slf4j.event.Level level)
      Parameters:
      level - required level
      Returns:
      true if logged messages found for required level
    • select

      public LogsSelector select(Predicate<ch.qos.logback.classic.spi.ILoggingEvent> predicate)
      Generic event selector.
      Parameters:
      predicate - selection predicate
      Returns:
      selector for selected events
    • level

      public LogsSelector level(org.slf4j.event.Level... levels)
      Parameters:
      levels - required levels
      Returns:
      sub selector with filtered logs from other levels
    • logger

      public LogsSelector logger(String... loggerNames)
      Parameters:
      loggerNames - logger name
      Returns:
      sub selector with filtered logs from other loggers
    • logger

      public LogsSelector logger(Class<?>... logger)
      Parameters:
      logger - logger class
      Returns:
      sub selector with filtered logs from other loggers
    • containing

      public LogsSelector containing(String messagePart)
      Parameters:
      messagePart - message to find in logged messages
      Returns:
      sub selector with log records containing provided string
    • matching

      public LogsSelector matching(String regex)
      Parameters:
      regex - regular expression
      Returns:
      sub selector with log records matching provided regex (matched by find)