tsukasaoishi-miyazakiresistance 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,12 +16,38 @@ module MiyazakiResistance
16
16
  def logger=(target)
17
17
  @@logger = target
18
18
  end
19
+
20
+ %w|fatal error warn info debug|.each do|level|
21
+ self.class_eval %Q|
22
+ def logger_#{level}(str)
23
+ put_log(str, "#{level}")
24
+ end
25
+ |
26
+ end
27
+
28
+ private
29
+
30
+ def put_log(str, level)
31
+ logger.__send__(level, log_msg(str))
32
+ end
33
+
34
+ def log_msg(str)
35
+ "[#{Time.now.strftime("%Y/%m/%d %H:%M:%S")}] #{str}"
36
+ end
19
37
  end
20
38
 
21
39
  module InstanceMethods
22
40
  def logger
23
41
  self.class.logger
24
42
  end
43
+
44
+ %w|fatal error warn info debug|.each do|level|
45
+ self.class_eval %Q|
46
+ def logger_#{level}(str)
47
+ self.class.logger_#{level}g(str)
48
+ end
49
+ |
50
+ end
25
51
  end
26
52
  end
27
53
  end
@@ -14,12 +14,12 @@ module MiyazakiResistance
14
14
  DEFAULT_TIMEOUT = 60
15
15
 
16
16
  def set_server(host, port, target = :readonly)
17
- logger.debug "set_server host : #{host} port : #{port} target : #{target}"
17
+ logger_debug "set_server host : #{host} port : #{port} target : #{target}"
18
18
 
19
19
  self.connection_pool ||= {:read => [], :write => nil, :standby => nil}
20
20
  rdb = TokyoTyrant::RDBTBL.new
21
21
  unless rdb.open(host.to_s, port)
22
- logger.error "TokyoTyrantConnectError host : #{host} port : #{port} target : #{target}"
22
+ logger_fatal "TokyoTyrantConnectError host : #{host} port : #{port} target : #{target}"
23
23
  raise TokyoTyrantConnectError
24
24
  end
25
25
 
@@ -60,6 +60,7 @@ module MiyazakiResistance
60
60
  self.connection_pool[:read] << new_rdb
61
61
  self.connection_pool[:write] = new_rdb if rdb == self.connection_pool[:write]
62
62
  else
63
+ logger_fatal "remove pool : host #{host} port : #{port}"
63
64
  check_pool
64
65
  fail_over if rdb == self.connection_pool[:write]
65
66
  end
@@ -81,17 +82,17 @@ module MiyazakiResistance
81
82
 
82
83
  def check_pool
83
84
  return if self.connection_pool[:read] && !self.connection_pool[:read].empty?
84
- logger.error "AllTimeoutORConnectionPoolEmpty"
85
+ logger_fatal "AllTimeoutORConnectionPoolEmpty"
85
86
  raise AllTimeoutORConnectionPoolEmpty
86
87
  end
87
88
 
88
89
  def fail_over
89
90
  unless self.connection_pool[:standby]
90
- logger.error "MasterDropError"
91
+ logger_fatal "MasterDropError"
91
92
  raise MasterDropError
92
93
  end
93
94
 
94
- logger.info "master server failover"
95
+ logger_fatal "master server failover"
95
96
  self.connection_pool[:write] = self.connection_pool[:standby]
96
97
  self.connection_pool[:standby] = nil
97
98
  end
@@ -13,7 +13,7 @@ require 'miyazaki_resistance/base'
13
13
  require 'miyazaki_resistance/error'
14
14
 
15
15
  module MiyazakiResistance
16
- VERSION = '0.0.7'
16
+ VERSION = '0.0.8'
17
17
  end
18
18
 
19
19
  MiyazakiResistance::Base.class_eval do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tsukasaoishi-miyazakiresistance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tsukasa OISHI
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-07 00:00:00 -07:00
12
+ date: 2009-04-08 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency