Module: Kolor::Logger
- Defined in:
- lib/kolor/internal/logger.rb
Overview
Kolor::Logger provides styled, leveled logging for terminal output.
It supports five log levels: ‘:info`, `:warn`, `:error`, `:success`, and `:debug`. Each level has a default ANSI style, which can be overridden per message.
Logging behavior is controlled by environment variables:
- `KOLOR_DEBUG` enables debug output
- `KOLOR_VERBOSE` enables info output
Warnings and errors are always shown unless suppressed via ‘suppress!`.
Constant Summary collapse
- DEBUG_ENV_KEY =
:KOLOR_DEBUG- INFO_ENV_KEY =
:KOLOR_VERBOSE- DEFAULT_STYLES =
Default ANSI styles for each log level
{ info: [:cyan], warn: [:yellow, :bold], error: [:red, :bold], success: [:green], debug: [:magenta] }.freeze
- LEVEL_TAGS =
Display tags for each log level
{ info: 'INFO', warn: 'WARN', error: 'ERROR', success: 'OK', debug: 'DEBUG' }.freeze
Class Method Summary collapse
-
.debug(message, styles = nil) ⇒ void
Logs a debug-level message if debug mode is enabled.
-
.enable! ⇒ void
Enables warnings and errors.
-
.error(message, styles = nil) ⇒ void
Logs an error message.
-
.info(message, styles = nil) ⇒ void
Logs an info-level message if verbose mode is enabled.
-
.show_debug? ⇒ Boolean
Checks if debug output is enabled via ENV.
-
.show_info? ⇒ Boolean
Checks if info output is enabled via ENV.
-
.success(message, styles = nil) ⇒ void
Logs a success message.
-
.suppress! ⇒ void
Suppresses all warnings and errors.
-
.suppress_warnings? ⇒ Boolean
Checks if warnings are currently suppressed.
-
.warn(message, styles = nil) ⇒ void
Logs a warning message.
Class Method Details
.debug(message, styles = nil) ⇒ void
This method returns an undefined value.
Logs a debug-level message if debug mode is enabled
76 77 78 |
# File 'lib/kolor/internal/logger.rb', line 76 def debug(, styles = nil) log(:debug, , styles) if show_debug? end |
.enable! ⇒ void
This method returns an undefined value.
Enables warnings and errors
109 |
# File 'lib/kolor/internal/logger.rb', line 109 def enable! = @suppress_warnings = false |
.error(message, styles = nil) ⇒ void
This method returns an undefined value.
Logs an error message
92 |
# File 'lib/kolor/internal/logger.rb', line 92 def error(, styles = nil) log(:error, , styles) end |
.info(message, styles = nil) ⇒ void
This method returns an undefined value.
Logs an info-level message if verbose mode is enabled
67 68 69 |
# File 'lib/kolor/internal/logger.rb', line 67 def info(, styles = nil) log(:info, , styles) if show_info? end |
.show_debug? ⇒ Boolean
Checks if debug output is enabled via ENV
55 |
# File 'lib/kolor/internal/logger.rb', line 55 def show_debug? = !ENV[DEBUG_ENV_KEY.to_s].nil? |
.show_info? ⇒ Boolean
Checks if info output is enabled via ENV
60 |
# File 'lib/kolor/internal/logger.rb', line 60 def show_info? = !ENV[INFO_ENV_KEY.to_s].nil? |
.success(message, styles = nil) ⇒ void
This method returns an undefined value.
Logs a success message
99 |
# File 'lib/kolor/internal/logger.rb', line 99 def success(, styles = nil) log(:success, , styles) end |
.suppress! ⇒ void
This method returns an undefined value.
Suppresses all warnings and errors
104 |
# File 'lib/kolor/internal/logger.rb', line 104 def suppress! = @suppress_warnings = true |
.suppress_warnings? ⇒ Boolean
Checks if warnings are currently suppressed
114 |
# File 'lib/kolor/internal/logger.rb', line 114 def suppress_warnings? = @suppress_warnings |
.warn(message, styles = nil) ⇒ void
This method returns an undefined value.
Logs a warning message
85 |
# File 'lib/kolor/internal/logger.rb', line 85 def warn(, styles = nil) log(:warn, , styles) end |