pacojp-skutil 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/skutil.rb +58 -0
- metadata +1 -1
data/lib/skutil.rb
CHANGED
@@ -1,8 +1,56 @@
|
|
1
1
|
|
2
|
+
require 'net/scp'
|
2
3
|
require 'net/smtp'
|
3
4
|
require 'kconv'
|
4
5
|
|
5
6
|
module Skutil
|
7
|
+
module Base
|
8
|
+
def log(log_type,message, is_base_info = true)
|
9
|
+
if is_base_info
|
10
|
+
puts "[#{Time.now.strftime("%Y/%m/%d %H:%M:%S")}][#{$$}][#{log_type.to_s}] #{message}"
|
11
|
+
else
|
12
|
+
puts "[#{log_type.to_s}] #{message}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def info(message)
|
17
|
+
log(:INFO,message)
|
18
|
+
end
|
19
|
+
|
20
|
+
def error(message)
|
21
|
+
if message.is_a? Exception
|
22
|
+
log(:ERROR," #{message.message}")
|
23
|
+
message.backtrace.each_with_index {|line, i|
|
24
|
+
log(:ERROR," #{line})",false)
|
25
|
+
}
|
26
|
+
else
|
27
|
+
log(:ERROR,message.to_s)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def warn(message)
|
32
|
+
log(:WARN,message)
|
33
|
+
end
|
34
|
+
|
35
|
+
def debug(message)
|
36
|
+
if $IS_DEBUG
|
37
|
+
log(:DEBUG,message)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def execute(&process)
|
42
|
+
info "start script"
|
43
|
+
script_started_at = Time.now
|
44
|
+
begin
|
45
|
+
yield process
|
46
|
+
rescue => e
|
47
|
+
error e
|
48
|
+
Skutil::Mail.send_error(ERROR_MAIL_FROM,ERROR_MAIL_TO,ERROR_MAIL_SUBJECT,e)
|
49
|
+
end
|
50
|
+
info "finish script (#{Time.now - script_started_at}sec)"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
6
54
|
class Mail
|
7
55
|
def self.send(from,to,title,body,smtp_addr='127.0.0.1',smtp_port=25)
|
8
56
|
from_addr,from_addr_4_header = create_addr_and_header(from)
|
@@ -29,6 +77,16 @@ HEAD
|
|
29
77
|
m.sendmail(src, from_addr, to)
|
30
78
|
m.finish
|
31
79
|
end
|
80
|
+
|
81
|
+
def self.send_error(from,to,title,error,smtp_addr='127.0.0.1',smtp_port=25)
|
82
|
+
body = <<-BODY
|
83
|
+
#{error.to_s}
|
84
|
+
#{error.backtrace.join("\n")}
|
85
|
+
=====================================
|
86
|
+
#{Skutil::Server.environment}
|
87
|
+
BODY
|
88
|
+
Skutil::Mail.send(from,to,title,body,smtp_addr,smtp_port)
|
89
|
+
end
|
32
90
|
|
33
91
|
def self.create_addr_and_header(addr_data)
|
34
92
|
addr = ''
|