[logback-dev] [qos-ch/logback] 58f15b: Improve support for the JANSI library

Ceki Gulcu noreply at github.com
Wed Oct 9 22:02:55 CEST 2019


  Branch: refs/heads/master
  Home:   https://github.com/qos-ch/logback
  Commit: 58f15b51906b8ea25a509a46b33d87aef800d446
      https://github.com/qos-ch/logback/commit/58f15b51906b8ea25a509a46b33d87aef800d446
  Author: Alexandre Dutra <alexandre.dutra at datastax.com>
  Date:   2018-03-26 (Mon, 26 Mar 2018)

  Changed paths:
    M logback-core/src/main/java/ch/qos/logback/core/ConsoleAppender.java
    M logback-core/src/test/java/ch/qos/logback/core/appender/ConsoleAppenderTest.java
    M logback-site/src/site/pages/manual/layouts.html
    M pom.xml

  Log Message:
  -----------
  Improve support for the JANSI library

Motivation:

The Jansi library provides an AnsiPrintStream that intercepts ANSI
sequences and allows the application to react to them accordingly.
Jansi is compatible with a variety of terminals, including xterm-like
terminals for Windows like Mintty and MinGW.

Jansi has a good algorithm to detect whether or not ANSI
sequences will be correctly interpreted or not, and if not, its default
behavior is to filter out such sequences.

Logback's ConsoleAppender has a withJansi option. Unfortunately,
Logback bypasses Jansi's detection algorithm and boldly
assumes that if the OS is Windows, then the terminal is a DOS prompt.
So while DOS prompts get colored, terminals like Mintty or MinGW not
only lose their coloring but are sent DOS escape sequences that they
can't interpret.

Modifications:

- Amend ConsoleAppender so that when withJansi is true, then all
OutputStreams are wrapped in an AnsiPrintStream, effectively delegating
to the JANSI library the decision to filter out ANSI escape sequences
or not, depending on the terminal capability. This also allows users
to disable or customize the coloring behavior by using system properties
recognized by JANSI, such as jansi.strip.
- Amend the documentation and stress that the JANSI library is the
recommended solution for Windows systems, as well as for cross-platform
deployments that include a mix of Windows and non-Windows systems.


  Commit: 347e4e7af5e07b830c1c23fc2759b04ef42bf932
      https://github.com/qos-ch/logback/commit/347e4e7af5e07b830c1c23fc2759b04ef42bf932
  Author: Ceki Gulcu <ceki at qos.ch>
  Date:   2019-10-09 (Wed, 09 Oct 2019)

  Changed paths:
    M .travis.yml
    M README.md
    M logback-access/pom.xml
    M logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
    M logback-access/src/main/java/ch/qos/logback/access/joran/JoranConfigurator.java
    A logback-access/src/main/java/ch/qos/logback/access/joran/action/AccessEvaluatorAction.java
    M logback-access/src/main/java/ch/qos/logback/access/joran/action/ConfigurationAction.java
    R logback-access/src/main/java/ch/qos/logback/access/joran/action/EvaluatorAction.java
    A logback-access/src/main/java/ch/qos/logback/access/model/ConfigurationModel.java
    A logback-access/src/main/java/ch/qos/logback/access/model/processor/ConfigurationModelHandler.java
    M logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java
    M logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java
    M logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java
    M logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java
    M logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java
    R logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
    R logback-access/src/main/java/ch/qos/logback/access/sift/AppenderFactoryUsingJoran.java
    R logback-access/src/main/java/ch/qos/logback/access/sift/SiftAction.java
    R logback-access/src/main/java/ch/qos/logback/access/sift/SiftingAppender.java
    R logback-access/src/main/java/ch/qos/logback/access/sift/SiftingJoranConfigurator.java
    R logback-access/src/test/java/ch/qos/logback/access/AllAccessTest.java
    R logback-access/src/test/java/ch/qos/logback/access/boolex/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/db/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/filter/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/jetty/PackageTest.java
    M logback-access/src/test/java/ch/qos/logback/access/joran/ConditionalTest.java
    M logback-access/src/test/java/ch/qos/logback/access/joran/JoranConfiguratorTest.java
    R logback-access/src/test/java/ch/qos/logback/access/joran/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/net/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/pattern/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/servlet/PackageTest.java
    M logback-access/src/test/java/ch/qos/logback/access/servlet/TeeHttpServletResponseTest.java
    R logback-access/src/test/java/ch/qos/logback/access/sift/PackageTest.java
    R logback-access/src/test/java/ch/qos/logback/access/sift/SiftingAppenderTest.java
    R logback-access/src/test/java/ch/qos/logback/access/spi/PackageTest.java
    M logback-classic/integration.xml
    M logback-classic/pom.xml
    M logback-classic/src/main/java/ch/qos/logback/classic/Logger.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/JoranConfigurator.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/ReconfigureOnChangeTask.java
    A logback-classic/src/main/java/ch/qos/logback/classic/joran/action/ClassicEvaluatorAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/ConfigurationAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/ConsolePluginAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/ContextNameAction.java
    R logback-classic/src/main/java/ch/qos/logback/classic/joran/action/EvaluatorAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/InsertFromJNDIAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/JMXConfiguratorAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/LevelAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/LoggerAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/LoggerContextListenerAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/ReceiverAction.java
    M logback-classic/src/main/java/ch/qos/logback/classic/joran/action/RootLoggerAction.java
    A logback-classic/src/main/java/ch/qos/logback/classic/joran/action/RootLoggerAction2.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/ConfigurationModel.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/ContextNameModel.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/LevelModel.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/LoggerContextListenerModel.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/LoggerModel.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/RootLoggerModel.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/processor/ConfigurationModelHandler.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/processor/ContextNameModelHandler.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/processor/LevelModelHandler.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/processor/LoggerContextListenerModelHandler.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/processor/LoggerModelHandler.java
    A logback-classic/src/main/java/ch/qos/logback/classic/model/processor/RootLoggerModelHandler.java
    M logback-classic/src/main/java/ch/qos/logback/classic/net/SMTPAppender.java
    M logback-classic/src/main/java/ch/qos/logback/classic/servlet/LogbackServletContainerInitializer.java
    R logback-classic/src/main/java/ch/qos/logback/classic/sift/AppenderFactoryUsingJoran.java
    M logback-classic/src/main/java/ch/qos/logback/classic/sift/MDCBasedDiscriminator.java
    R logback-classic/src/main/java/ch/qos/logback/classic/sift/SiftAction.java
    R logback-classic/src/main/java/ch/qos/logback/classic/sift/SiftingAppender.java
    R logback-classic/src/main/java/ch/qos/logback/classic/sift/SiftingJoranConfigurator.java
    A logback-classic/src/main/java/ch/qos/logback/classic/spi/LogbackLoggingEventBuilder.java
    M logback-classic/src/main/java/ch/qos/logback/classic/turbo/ReconfigureOnChangeFilter.java
    M logback-classic/src/main/java/ch/qos/logback/classic/util/LogbackMDCAdapter.java
    R logback-classic/src/main/java/module-info.java
    A logback-classic/src/main/java9/module-info.java
    A logback-classic/src/test/input/joran/appenderRefBeforeAppender.xml
    M logback-classic/src/test/input/joran/conditional/conditionalIncludeExistingFile.xml
    M logback-classic/src/test/input/joran/ignore.xml
    M logback-classic/src/test/input/joran/loggerLevelByProperty.xml
    R logback-classic/src/test/java/ch/qos/logback/classic/AllClassicTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/boolex/ConditionalWithoutJanino.java
    R logback-classic/src/test/java/ch/qos/logback/classic/boolex/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/control/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/db/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/db/names/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/encoder/PackageTest.java
    M logback-classic/src/test/java/ch/qos/logback/classic/encoder/PatternLayoutEncoderTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/html/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/issue/DarioCampagna/Main.java
    R logback-classic/src/test/java/ch/qos/logback/classic/issue/DarioCampagna/logback-marker.xml
    R logback-classic/src/test/java/ch/qos/logback/classic/issue/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/issue/logback416/ConcurrentSiftingTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/issue/logback416/InstanceCountingAppender.java
    R logback-classic/src/test/java/ch/qos/logback/classic/issue/logback416/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/jmx/PackageTest.java
    M logback-classic/src/test/java/ch/qos/logback/classic/joran/EvaluatorJoranTest.java
    M logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/joran/PackageTest.java
    M logback-classic/src/test/java/ch/qos/logback/classic/joran/ReconfigureOnChangeTaskTest.java
    M logback-classic/src/test/java/ch/qos/logback/classic/joran/conditional/ConditionalTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/joran/conditional/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/jul/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/net/PackageTest.java
    M logback-classic/src/test/java/ch/qos/logback/classic/net/SMTPAppender_SubethaSMTPTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/pattern/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/rolling/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/selector/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/sift/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/sift/SiftingAppenderTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/spi/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/turbo/PackageTest.java
    R logback-classic/src/test/java/ch/qos/logback/classic/util/PackageTest.java
    R logback-classic/src/test/java/org/slf4j/impl/PackageTest.java
    M logback-core/pom.xml
    M logback-core/src/main/java/ch/qos/logback/core/db/BindDataSourceToJNDIAction.java
    M logback-core/src/main/java/ch/qos/logback/core/encoder/LayoutWrappingEncoder.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/JoranConfiguratorBase.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/JoranConstants.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/ParamModelHandler.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/AbstractEventEvaluatorAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/Action.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/ActionConst.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/BaseModelAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/ContextPropertyAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/ConversionRuleAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/DefinePropertyAction.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/EventEvaluatorAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/IADataForBasicProperty.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/IADataForComplexProperty.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/ImcplicitActionDataForBasicProperty.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/ImplicitAction.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/ImplicitActionDataBase.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/ImplicitActionDataForComplexProperty.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/ImplicitModelAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/IncludeAction.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/IncludeModelAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/NestedBasicPropertyIA.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/action/NestedComplexPropertyIA.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/NewRuleAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/ParamAction.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/action/PreconditionValidator.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/PropertyAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/SequenceNumberGeneratorAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/ShutdownHookAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/StatusListenerAction.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/action/TimestampAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/conditional/ElseAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/conditional/IfAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/conditional/ThenAction.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/conditional/ThenOrElseActionBase.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/event/InPlayListener.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEventRecorder.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/event/stax/StaxEventRecorder.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/spi/DefaultNestedComponentRegistry.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/spi/EventPlayer.java
    M logback-core/src/main/java/ch/qos/logback/core/joran/spi/InterpretationContext.java
    R logback-core/src/main/java/ch/qos/logback/core/joran/spi/Interpreter.java
    A logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEventInterpreter.java
    A logback-core/src/main/java/ch/qos/logback/core/model/AppenderModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/AppenderRefModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/ComponentModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/DefineModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/EventEvaluatorModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/ImplicitModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/IncludeModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/Model.java
    A logback-core/src/main/java/ch/qos/logback/core/model/ParamModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/PropertyModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/ShutdownHookModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/StatusListenerModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/TimestampModel.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/AllowAllModelFilter.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/AllowModelFilter.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/AppenderModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/AppenderRefModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ChainedModelFilter.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/DefaultProcessor.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/DefineModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/DenyAllModelFilter.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/DenyModelFilter.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/EventEvaluatorModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ImplicitModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/IncludeModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ModelFiler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ModelHandlerBase.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ModelHandlerException.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ProcessorException.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/PropertyModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/ShutdownHookModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/StatusListenerModelHandler.java
    A logback-core/src/main/java/ch/qos/logback/core/model/processor/TimestampModelHandler.java
    M logback-core/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    M logback-core/src/main/java/ch/qos/logback/core/net/ssl/SSLParametersConfiguration.java
    M logback-core/src/main/java/ch/qos/logback/core/property/FileExistsPropertyDefiner.java
    M logback-core/src/main/java/ch/qos/logback/core/property/ResourceExistsPropertyDefiner.java
    M logback-core/src/main/java/ch/qos/logback/core/rolling/helper/RollingCalendar.java
    R logback-core/src/main/java/ch/qos/logback/core/sift/AbstractAppenderFactoryUsingJoran.java
    R logback-core/src/main/java/ch/qos/logback/core/sift/SiftingAppenderBase.java
    R logback-core/src/main/java/ch/qos/logback/core/sift/SiftingJoranConfiguratorBase.java
    M logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachable.java
    M logback-core/src/main/java/ch/qos/logback/core/util/OptionHelper.java
    M logback-core/src/main/java/ch/qos/logback/core/util/StatusListenerConfigHelper.java
    R logback-core/src/main/java/module-info.java
    A logback-core/src/main/java9/module-info.java
    M logback-core/src/test/input/joran/define/badclass.xml
    M logback-core/src/test/input/joran/define/good.xml
    M logback-core/src/test/input/joran/define/noclass.xml
    M logback-core/src/test/input/joran/define/noname.xml
    R logback-core/src/test/java/ch/qos/logback/core/AllCoreTest.java
    R logback-core/src/test/java/ch/qos/logback/core/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/appender/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/encoder/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/helpers/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/PackageTest.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/SimpleConfigurator.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/SkippingInInterpreterTest.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/TrivialConfigurator.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/TrivialConfiguratorTest.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/action/DefinePropertyActionTest.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/action/IncludeActionTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/action/PackageTest.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/action/PropertyActionTest.java
    A logback-core/src/test/java/ch/qos/logback/core/joran/action/TopElementAction.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/action/ext/StackAction.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/conditional/IfThenElseAndIncludeCompositionTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/conditional/IfThenElseTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/conditional/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/event/InPlayFireTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/event/ListenAction.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/event/PackageTest.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/implicitAction/FruitContextAction.java
    A logback-core/src/test/java/ch/qos/logback/core/joran/implicitAction/FruitContextModel.java
    A logback-core/src/test/java/ch/qos/logback/core/joran/implicitAction/FruitContextModelHandler.java
    M logback-core/src/test/java/ch/qos/logback/core/joran/implicitAction/ImplicitActionTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/implicitAction/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/Fruit.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitConfigurationTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitConfigurator.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitContext.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitFactory.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitFactoryAction.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitShell.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/FruitShellAction.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/replay/WeightytFruit.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/spi/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/joran/util/PackageTest.java
    A logback-core/src/test/java/ch/qos/logback/core/model/FruitShellModel.java
    A logback-core/src/test/java/ch/qos/logback/core/model/TopModel.java
    A logback-core/src/test/java/ch/qos/logback/core/model/processor/NOPModelHandler.java
    R logback-core/src/test/java/ch/qos/logback/core/net/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/net/server/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/net/ssl/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/pattern/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/pattern/parser/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/recovery/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/rolling/PackageTest.java
    M logback-core/src/test/java/ch/qos/logback/core/rolling/TimeBasedRollingWithArchiveRemoval_Test.java
    R logback-core/src/test/java/ch/qos/logback/core/rolling/helper/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/sift/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/spi/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/status/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/subst/PackageTest.java
    R logback-core/src/test/java/ch/qos/logback/core/util/PackageTest.java
    M logback-examples/src/main/java/chapters/layouts/MySampleConverter.java
    M logback-examples/src/main/java/chapters/onJoran/SimpleConfigurator.java
    M logback-examples/src/main/java/chapters/onJoran/calculator/ComputationAction1.java
    M logback-examples/src/main/java/chapters/onJoran/calculator/ComputationAction2.java
    M logback-examples/src/main/java/chapters/onJoran/calculator/LiteralAction.java
    M logback-examples/src/main/java/chapters/onJoran/implicit/PrintMe.java
    M logback-examples/src/main/java/chapters/onJoran/implicit/PrintMeImplicitAction.java
    M logback-examples/src/main/java/chapters/onJoran/implicit/readme.txt
    M logback-site/src/site/pages/cla.txt
    M logback-site/src/site/pages/codes.html
    M logback-site/src/site/pages/manual/configuration.html
    M logback-site/src/site/pages/manual/onJoran.html
    M logback-site/src/site/pages/setup.html
    M pom.xml
    M src/main/clas/signed-clas.txt

  Log Message:
  -----------
  Merge branch 'master' into adutra-jansi-enhancements


  Commit: 62ccef820a168e0efd91fe6e6499db21ae508660
      https://github.com/qos-ch/logback/commit/62ccef820a168e0efd91fe6e6499db21ae508660
  Author: Ceki Gulcu <ceki at qos.ch>
  Date:   2019-10-09 (Wed, 09 Oct 2019)

  Changed paths:
    M logback-core/src/main/java/ch/qos/logback/core/ConsoleAppender.java
    M logback-core/src/test/java/ch/qos/logback/core/appender/ConsoleAppenderTest.java
    M logback-site/src/site/pages/manual/layouts.html
    M pom.xml

  Log Message:
  -----------
  Merge pull request #414 from adutra/adutra-jansi-enhancements

LOGBACK-1392 Improve support for the JANSI library in ConsoleAppender


Compare: https://github.com/qos-ch/logback/compare/597b272384cc...62ccef820a16


More information about the logback-dev mailing list