java.lang.Object
org.apache.lucene.util.InfoStream
com.atlassian.confluence.internal.search.v2.lucene.Slf4JInfoStream
All Implemented Interfaces:
Closeable, AutoCloseable, Cloneable, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean

public class Slf4JInfoStream extends org.apache.lucene.util.InfoStream implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
Adapts Lucene's logging mechanism, InfoStream, to SLF4J.

In InfoStream, messages are categorised by "components". Generally a component is the class name or an acronym of it, e.g. the component of org.apache.lucene.index.IndexUpgrader is IndexUpgrader and the component of org.apache.lucene.index.DocumentsWriter is DW. Since there's no concept of log levels, all messages are logged under debug.

A Spring-managed instance will replace the default InfoStream within its lifecycle, thus it only makes sense to have a singleton registered.

  • Constructor Details

    • Slf4JInfoStream

      public Slf4JInfoStream(Map<String,String> componentToLoggerMapping)
      Parameters:
      componentToLoggerMapping - maps component names to logger names, defaults to logger if no mapping could be found
  • Method Details

    • message

      public void message(String component, String message)
      Specified by:
      message in class org.apache.lucene.util.InfoStream
    • isEnabled

      public boolean isEnabled(String component)
      Specified by:
      isEnabled in class org.apache.lucene.util.InfoStream
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • destroy

      public void destroy() throws Exception
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Throws:
      Exception
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception