karma-runner/karma

logger.js ignores layout.pattern

Open

#2414 opened on Oct 19, 2016

View on GitHub
 (1 comment) (0 reactions) (0 assignees)JavaScript (11,918 stars) (1,703 forks)batch import
help wantedneeds: investigation

Description

Expected behaviour

In karma/lib/logger.js, setup should use the layout.pattern string if it exists.

Actual behaviour

When layout.type === 'pattern', setup only uses one of the built-in constants:

    var pattern = colors ? constant.COLOR_PATTERN : constant.NO_COLOR_PATTERN

Environment Details

  • Karma version (output of karma --version): 1.3.0
  • Relevant part of your karma.config.js file
    loggers: [
        {
            type: 'console',
            layout: {
                type: 'pattern',
                pattern: '%[%d{ISO8601}:%p [%c]: %]%m'
            }
        }
    ]

Steps to reproduce the behaviour

  1. Supply a custom logger in karma.config.js as specified above.

Comment

If this is indeed broken, I can submit a PR.

Further, I realize that fixing this to use the provided pattern will then ignore the colors boolean. This might be addressed by having layout.colorPattern and layout.noColorPattern which get assigned appropriately to layout.pattern. I can submit a PR for this as well.

Thanks.

Contributor guide