Class LanguageClientAwareAppender

java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.UnsynchronizedAppenderBase<E>
ch.qos.logback.core.OutputStreamAppender<E>
ch.qos.logback.core.ConsoleAppender<ILoggingEvent>
com.github._1c_syntax.bsl.languageserver.infrastructure.LanguageClientAwareAppender
All Implemented Interfaces:
ch.qos.logback.core.Appender<ILoggingEvent>, ch.qos.logback.core.spi.ContextAware, ch.qos.logback.core.spi.FilterAttachable<ILoggingEvent>, ch.qos.logback.core.spi.LifeCycle

public class LanguageClientAwareAppender extends ch.qos.logback.core.ConsoleAppender<ILoggingEvent>
Расширение штатного ConsoleAppender, выводящего сообщения в LanguageClient, если он подключен, или в штатные потоки вывода в обратном случае.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Singletone-like хранилище проинициализированного инфраструктурой Logback аппендера для последующего возврата его через LogbackConfiguration.languageClientAwareAppender().

    Fields inherited from class ch.qos.logback.core.ConsoleAppender

    target, withJansi

    Fields inherited from class ch.qos.logback.core.OutputStreamAppender

    encoder, streamWriteLock

    Fields inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase

    name, started

    Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

    context
  • Constructor Summary

    Constructors
    Constructor
    Description
    Конструктор по умолчанию.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Хранилище возможно подключенного LanguageClient.
    protected void
    Общий метод вывода информации, проверяющий наличие подключенного LanguageClient.

    Methods inherited from class ch.qos.logback.core.ConsoleAppender

    getTarget, isWithJansi, setTarget, setWithJansi, start

    Methods inherited from class ch.qos.logback.core.OutputStreamAppender

    append, closeOutputStream, getEncoder, getOutputStream, isImmediateFlush, setEncoder, setImmediateFlush, setLayout, setOutputStream, stop, subAppend, updateByteCount, writeByteArrayToOutputStreamWithPossibleFlush

    Methods inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase

    addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toString

    Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase

    addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface ch.qos.logback.core.spi.ContextAware

    addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext
  • Field Details

  • Constructor Details

    • LanguageClientAwareAppender

      public LanguageClientAwareAppender()
      Конструктор по умолчанию.

      Сохраняет сконструированный объект в переменную INSTANCE.

  • Method Details

    • writeOut

      protected void writeOut(ILoggingEvent event) throws IOException
      Общий метод вывода информации, проверяющий наличие подключенного LanguageClient.
      Overrides:
      writeOut in class ch.qos.logback.core.OutputStreamAppender<ILoggingEvent>
      Parameters:
      event - Логируемое событие
      Throws:
      IOException - Выбрасывает исключение в случае ошибок записи в стандартные потоки вывода.
    • setClientHolder

      @Autowired public void setClientHolder(@Nullable LanguageClientHolder clientHolder)
      Хранилище возможно подключенного LanguageClient.