Module: I18n::Processes::Logging

Included in:
BaseProcess, CLI, Command::Commander, Data::FileSystemBase, Reports::Base, Scanners::Files::FileFinder
Defined in:
lib/i18n/processes/logging.rb

Constant Summary collapse

MUTEX =
Mutex.new
PROGRAM_NAME =
File.basename($PROGRAM_NAME)

Class Method Summary collapse

Class Method Details

.log_error(message) ⇒ Object



21
22
23
# File 'lib/i18n/processes/logging.rb', line 21

def log_error(message)
  log_stderr Rainbow("#{program_name}: #{message}").red.bright
end

.log_stderr(*args) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/i18n/processes/logging.rb', line 25

def log_stderr(*args)
  MUTEX.synchronize do
    # 1. We don't want output from different threads to get intermixed.
    # 2. StringIO is currently not thread-safe (blows up) on JRuby:
    # https://github.com/jruby/jruby/issues/4417
    $stderr.puts(*args)
  end
end

.log_verbose(message = nil) ⇒ Object



13
14
15
# File 'lib/i18n/processes/logging.rb', line 13

def log_verbose(message = nil)
  log_stderr Rainbow(message || yield).blue.bright if ::I18n::Processes.verbose?
end

.log_warn(message) ⇒ Object



17
18
19
# File 'lib/i18n/processes/logging.rb', line 17

def log_warn(message)
  log_stderr Rainbow("#{program_name}: [WARN] #{message}").yellow
end

.program_nameObject



34
35
36
# File 'lib/i18n/processes/logging.rb', line 34

def program_name
  PROGRAM_NAME
end

.warn_deprecated(message) ⇒ Object



9
10
11
# File 'lib/i18n/processes/logging.rb', line 9

def warn_deprecated(message)
  log_stderr Rainbow("#{program_name}: [DEPRECATED] #{message}").yellow.bright
end