What is Convenient Service logger?

  • Convenient Service logger is a singleton that extends Ruby's stdlib Logger. It is used by Convenient Service internally to emit log messages and is accessible via ConvenientService.logger.

    ConvenientService.logger
    # => #<ConvenientService::Logger ...>
  • It writes to STDOUT with a default log level of Logger::INFO. Messages below that threshold, such as Logger::DEBUG, are suppressed unless the level is lowered.

  • The log level is controlled by two environment variables. CONVENIENT_SERVICE_LOGGER_LEVEL takes precedence over CONVENIENT_SERVICE_DEBUG=true when both are set.

    Variable Effect
    CONVENIENT_SERVICE_DEBUG=true Sets level to Logger::DEBUG
    CONVENIENT_SERVICE_LOGGER_LEVEL=<level> Sets level to the given value
  • Colored output is available by setting CONVENIENT_SERVICE_LOGGER_ENABLE_COLORS=true. It requires the paint gem. Each severity maps to a color:

    Severity Color
    DEBUG magenta bold
    INFO cyan bold
    WARN yellow bold
    ERROR red bold
    FATAL red underline

See also

Sources