Class: JPSClient::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/jpsclient/utils/logger.rb

Overview

简单的Logger实现,替代Funlog

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeLogger

Returns a new instance of Logger.



8
9
10
# File 'lib/jpsclient/utils/logger.rb', line 8

def initialize
  @verbose = ENV['JPS_DEBUG'] == 'true'
end

Class Method Details

.instanceObject



4
5
6
# File 'lib/jpsclient/utils/logger.rb', line 4

def self.instance
  @instance ||= new
end

Instance Method Details

#error(message) ⇒ Object



40
41
42
# File 'lib/jpsclient/utils/logger.rb', line 40

def error(message)
  $stderr.puts "ERROR: #{message}"
end

#fancyinfo_complete(message) ⇒ Object



30
31
32
33
34
# File 'lib/jpsclient/utils/logger.rb', line 30

def fancyinfo_complete(message)
  # 完成时先清除当前行,然后打印完成信息
  print "\r" + " " * 100 + "\r"  # 清除当前行
  puts "#{message}"
end

#fancyinfo_error(message) ⇒ Object



20
21
22
# File 'lib/jpsclient/utils/logger.rb', line 20

def fancyinfo_error(message)
  puts "#{message}"
end

#fancyinfo_start(message) ⇒ Object



12
13
14
# File 'lib/jpsclient/utils/logger.rb', line 12

def fancyinfo_start(message)
  puts "#{message}" if @verbose || true  # 总是显示开始信息
end

#fancyinfo_success(message) ⇒ Object



16
17
18
# File 'lib/jpsclient/utils/logger.rb', line 16

def fancyinfo_success(message)
  puts "#{message}"
end

#fancyinfo_update(message) ⇒ Object



24
25
26
27
28
# File 'lib/jpsclient/utils/logger.rb', line 24

def fancyinfo_update(message)
  # 进度更新,使用 \r 实现覆盖
  print "\r#{message}"
  $stdout.flush
end

#info(message) ⇒ Object



36
37
38
# File 'lib/jpsclient/utils/logger.rb', line 36

def info(message)
  puts message if @verbose
end