Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-1113

Logger getAppender() to return inherited ancestor's appenders

    XMLWordPrintable

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • 1.1.3
    • logback-classic
    • None

    Description

      defined package level logger:
      <logger name="com.company.app"
      level="ALL" additivity="false">
      <appender-ref ref="STDOUT-my"/>
      </logger>

      Get nested class logger:
      ch.qos.logback.classic.Logger logger =
      (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(com.company.app.classes.TestClass.class);

      By using getAppender() or iteratorForAppenders() I expect to get appenders even those which are not specified explicitly for the logger but inherited from ancestors:
      Appender<ILoggingEvent> appender = logger.getAppender("STDOUT-my");
      Gives "null"

      This gives only appenders configured explicitly for the logger like:
      <logger name="com.company.app.classes.TestClass"
      level="ALL">
      <appender-ref ref="STDOUT-my"/>
      </logger>

      Gives "ch.qos.logback.core.ConsoleAppender[STDOUT-my]"

      The only problem description I've found is - http://logback.10977.n7.nabble.com/How-to-programmatically-find-an-appender-for-a-logger-td12010.html

      Attachments

        Activity

          People

            logback-dev Logback dev list
            Illia Illia Baranenko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: