rbatch 1.6.6 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rbatch/log.rb CHANGED
@@ -41,7 +41,6 @@ module RBatch
41
41
  @@def_opt = {
42
42
  :name => "<date>_<time>_<prog>.log",
43
43
  :dir => File.join(File.dirname(RBatch.program_name), ".." , "log"),
44
- :formatter => nil,
45
44
  :append => true,
46
45
  :level => "info",
47
46
  :stdout => false,
@@ -80,7 +79,6 @@ module RBatch
80
79
  # - +:dir+ (String) = log direcotry path. Default is "../log"
81
80
  # - +:level+ (String) = log level. ["debug"|"info"|"warn"|"error"|"fatal"] . Default is "info".
82
81
  # - +:append+ (Boolean) = appned to log or not(=overwrite). Default is ture.
83
- # - +:formatter+ (Logger#formatter) = log formatter. instance of Logger#formatter
84
82
  # - +:stdout+ (Boolean) = print string both logfile and STDOUT. Default is false.
85
83
  # - +:quiet+ (Boolean) = run quiet mode. print STDOUT nothing. Default is true.
86
84
  # ==== Block params
@@ -125,23 +123,35 @@ module RBatch
125
123
  raise e
126
124
  end
127
125
  # set logger option
126
+ formatter = proc do |severity, datetime, progname, msg|
127
+ head = "[#{datetime}] [" + sprintf("%-5s",severity) +"]"
128
+ if msg.is_a? Exception
129
+ "#{head} #{msg}\n" + msg.backtrace.map{|s| " [backtrace] #{s}"}.join("\n") + "\n"
130
+ else
131
+ "#{head} #{msg}\n"
132
+ end
133
+ end
128
134
  @log.formatter = @opt[:formatter] if @opt[:formatter]
129
135
  @log.level = @@log_level_map[@opt[:level]]
136
+ @log.formatter = formatter
130
137
  if @opt[:stdout]
131
138
  # ccreate Logger instance for STDOUT
132
139
  @stdout_log = Logger.new(STDOUT)
133
140
  @stdout_log.formatter = @opt[:formatter] if @opt[:formatter]
134
141
  @stdout_log.level = @@log_level_map[@opt[:level]]
142
+ @stdout_log.formatter = formatter
135
143
  end
136
144
  puts "Log file: " + path if ! @opt[:quiet]
137
145
  # delete old log
138
146
  self.delete_old_log(@opt[:delete_old_log_date]) if @opt[:delete_old_log]
147
+ # Start logging
148
+ self.info("Start Logging. (PID=#{$$.to_s})") if ! @opt[:quiet]
139
149
  if block_given?
140
150
  begin
141
151
  yield self
142
152
  rescue => e
143
- self.fatal("Caught exception; existing 1")
144
153
  self.fatal(e)
154
+ self.fatal("Caught exception. Exit 1")
145
155
  exit 1
146
156
  ensure
147
157
  self.close
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'rbatch'
3
+ require 'fileutils'
4
+ require 'date'
5
+
6
+ RBatch::Log.new do |log|
7
+ log.info("Start---------------")
8
+ target_dir = RBatch::config["target_dir"]
9
+ RBatch::config["file_list"].each do |file_wildcard|
10
+ Dir::glob(file_wildcard).each do |file|
11
+ if ! File.exists?(File.join(target_dir,File.basename(file)))
12
+ log.info("Copy " + file + " to " + target_dir)
13
+ FileUtils.cp(file,target_dir)
14
+ else
15
+ log.info("Skip " + file + " (already backuped)")
16
+ end
17
+ end
18
+ end
19
+ end
20
+
@@ -0,0 +1,4 @@
1
+ file_list:
2
+ - /var/log/hoge*
3
+ - /var/log/messages
4
+ target_dir: /tmp
@@ -0,0 +1,95 @@
1
+ F, [2013-01-29T01:06:32.530732 #23428] FATAL -- : Caught exception; existing 1
2
+ F, [2013-01-29T01:06:32.530799 #23428] FATAL -- : undefined local variable or method `file' for main:Object (NameError)
3
+ bin/log_backup.rb:11:in `block (2 levels) in <main>'
4
+ bin/log_backup.rb:10:in `each'
5
+ bin/log_backup.rb:10:in `block in <main>'
6
+ /usr/local/lib/ruby/gems/1.9.1/gems/rbatch-1.6.4/lib/rbatch/log.rb:141:in `initialize'
7
+ bin/log_backup.rb:6:in `new'
8
+ bin/log_backup.rb:6:in `<main>'
9
+ F, [2013-01-29T01:06:50.003592 #23432] FATAL -- : Caught exception; existing 1
10
+ F, [2013-01-29T01:06:50.003659 #23432] FATAL -- : undefined local variable or method `file' for main:Object (NameError)
11
+ bin/log_backup.rb:11:in `block (2 levels) in <main>'
12
+ bin/log_backup.rb:10:in `each'
13
+ bin/log_backup.rb:10:in `block in <main>'
14
+ /usr/local/lib/ruby/gems/1.9.1/gems/rbatch-1.6.4/lib/rbatch/log.rb:141:in `initialize'
15
+ bin/log_backup.rb:6:in `new'
16
+ bin/log_backup.rb:6:in `<main>'
17
+ F, [2013-01-29T01:07:08.564091 #23440] FATAL -- : Caught exception; existing 1
18
+ F, [2013-01-29T01:07:08.564156 #23440] FATAL -- : undefined local variable or method `target_dir' for main:Object (NameError)
19
+ bin/log_backup.rb:12:in `block (3 levels) in <main>'
20
+ bin/log_backup.rb:11:in `each'
21
+ bin/log_backup.rb:11:in `block (2 levels) in <main>'
22
+ bin/log_backup.rb:10:in `each'
23
+ bin/log_backup.rb:10:in `block in <main>'
24
+ /usr/local/lib/ruby/gems/1.9.1/gems/rbatch-1.6.4/lib/rbatch/log.rb:141:in `initialize'
25
+ bin/log_backup.rb:6:in `new'
26
+ bin/log_backup.rb:6:in `<main>'
27
+ I, [2013-01-29T01:07:16.499840 #23444] INFO -- : cp -n /var/log/hoge-20130128 /tmp
28
+ I, [2013-01-29T01:07:16.502419 #23444] INFO -- : cp -n /var/log/hoge /tmp
29
+ I, [2013-01-29T01:07:16.504333 #23444] INFO -- : cp -n /var/log/hoge-20130125 /tmp
30
+ I, [2013-01-29T01:07:16.506443 #23444] INFO -- : cp -n /var/log/hoge-20130126 /tmp
31
+ I, [2013-01-29T01:07:16.508351 #23444] INFO -- : cp -n /var/log/hoge-20130129 /tmp
32
+ I, [2013-01-29T01:07:16.511586 #23444] INFO -- : cp -n /var/log/hoge-20130127 /tmp
33
+ I, [2013-01-29T01:07:24.653182 #23458] INFO -- : cp -n /var/log/hoge-20130128 /tmp
34
+ I, [2013-01-29T01:07:24.655595 #23458] INFO -- : cp -n /var/log/hoge /tmp
35
+ I, [2013-01-29T01:07:24.657416 #23458] INFO -- : cp -n /var/log/hoge-20130125 /tmp
36
+ I, [2013-01-29T01:07:24.659331 #23458] INFO -- : cp -n /var/log/hoge-20130126 /tmp
37
+ I, [2013-01-29T01:07:24.661271 #23458] INFO -- : cp -n /var/log/hoge-20130129 /tmp
38
+ I, [2013-01-29T01:07:24.663294 #23458] INFO -- : cp -n /var/log/hoge-20130127 /tmp
39
+ I, [2013-01-29T01:09:20.323944 #23486] INFO -- : cp -n /var/log/hoge-20130128 /tmp
40
+ I, [2013-01-29T01:09:20.326497 #23486] INFO -- : cp -n /var/log/hoge /tmp
41
+ I, [2013-01-29T01:09:20.329530 #23486] INFO -- : cp -n /var/log/hoge-20130125 /tmp
42
+ I, [2013-01-29T01:09:20.331360 #23486] INFO -- : cp -n /var/log/hoge-20130126 /tmp
43
+ I, [2013-01-29T01:09:20.333126 #23486] INFO -- : cp -n /var/log/hoge-20130129 /tmp
44
+ I, [2013-01-29T01:09:20.334846 #23486] INFO -- : cp -n /var/log/hoge-20130127 /tmp
45
+ I, [2013-01-29T01:12:34.333412 #23533] INFO -- : cp -n /var/log/hoge-20130128 /tmp
46
+ I, [2013-01-29T01:12:34.336134 #23533] INFO -- : cp -n /var/log/hoge /tmp
47
+ I, [2013-01-29T01:12:34.338090 #23533] INFO -- : cp -n /var/log/hoge-20130125 /tmp
48
+ I, [2013-01-29T01:12:34.340136 #23533] INFO -- : cp -n /var/log/hoge-20130126 /tmp
49
+ I, [2013-01-29T01:12:34.342096 #23533] INFO -- : cp -n /var/log/hoge-20130129 /tmp
50
+ I, [2013-01-29T01:12:34.343905 #23533] INFO -- : cp -n /var/log/hoge-20130127 /tmp
51
+ I, [2013-01-29T01:14:08.628838 #23592] INFO -- : /var/log/hoge-20130128 is already backuped
52
+ I, [2013-01-29T01:14:08.628894 #23592] INFO -- : /var/log/hoge is already backuped
53
+ I, [2013-01-29T01:14:08.629061 #23592] INFO -- : /var/log/hoge-20130125 is already backuped
54
+ I, [2013-01-29T01:14:08.629104 #23592] INFO -- : /var/log/hoge-20130126 is already backuped
55
+ I, [2013-01-29T01:14:08.629145 #23592] INFO -- : /var/log/hoge-20130129 is already backuped
56
+ I, [2013-01-29T01:14:08.629186 #23592] INFO -- : /var/log/hoge-20130127 is already backuped
57
+ I, [2013-01-29T01:14:20.564898 #23595] INFO -- : /var/log/hoge-20130128 is already backuped
58
+ I, [2013-01-29T01:14:20.564949 #23595] INFO -- : /var/log/hoge is already backuped
59
+ I, [2013-01-29T01:14:20.564991 #23595] INFO -- : copy /var/log/hoge-20130125 to /tmp
60
+ I, [2013-01-29T01:14:20.566881 #23595] INFO -- : /var/log/hoge-20130126 is already backuped
61
+ I, [2013-01-29T01:14:20.566926 #23595] INFO -- : /var/log/hoge-20130129 is already backuped
62
+ I, [2013-01-29T01:14:20.566968 #23595] INFO -- : /var/log/hoge-20130127 is already backuped
63
+ I, [2013-01-29T01:15:16.141526 #23611] INFO -- : skip /var/log/hoge-20130128(already backuped)
64
+ I, [2013-01-29T01:15:16.141589 #23611] INFO -- : skip /var/log/hoge(already backuped)
65
+ I, [2013-01-29T01:15:16.141660 #23611] INFO -- : skip /var/log/hoge-20130125(already backuped)
66
+ I, [2013-01-29T01:15:16.141740 #23611] INFO -- : skip /var/log/hoge-20130126(already backuped)
67
+ I, [2013-01-29T01:15:16.141848 #23611] INFO -- : skip /var/log/hoge-20130129(already backuped)
68
+ I, [2013-01-29T01:15:16.141921 #23611] INFO -- : skip /var/log/hoge-20130127(already backuped)
69
+ I, [2013-01-29T01:15:23.973832 #23615] INFO -- : skip /var/log/hoge-20130128 (already backuped)
70
+ I, [2013-01-29T01:15:23.973913 #23615] INFO -- : skip /var/log/hoge (already backuped)
71
+ I, [2013-01-29T01:15:23.973991 #23615] INFO -- : skip /var/log/hoge-20130125 (already backuped)
72
+ I, [2013-01-29T01:15:23.974164 #23615] INFO -- : skip /var/log/hoge-20130126 (already backuped)
73
+ I, [2013-01-29T01:15:23.974211 #23615] INFO -- : skip /var/log/hoge-20130129 (already backuped)
74
+ I, [2013-01-29T01:15:23.974252 #23615] INFO -- : skip /var/log/hoge-20130127 (already backuped)
75
+ I, [2013-01-29T01:15:51.878823 #23621] INFO -- : skip /var/log/hoge-20130128 (already backuped)
76
+ I, [2013-01-29T01:15:51.878874 #23621] INFO -- : skip /var/log/hoge (already backuped)
77
+ I, [2013-01-29T01:15:51.878916 #23621] INFO -- : copy /var/log/hoge-20130125 to /tmp
78
+ I, [2013-01-29T01:15:51.880742 #23621] INFO -- : copy /var/log/hoge-20130126 to /tmp
79
+ I, [2013-01-29T01:15:51.880900 #23621] INFO -- : skip /var/log/hoge-20130129 (already backuped)
80
+ I, [2013-01-29T01:15:51.880943 #23621] INFO -- : skip /var/log/hoge-20130127 (already backuped)
81
+ I, [2013-01-29T01:16:21.454513 #23625] INFO -- : Skip /var/log/hoge-20130128 (already backuped)
82
+ I, [2013-01-29T01:16:21.454595 #23625] INFO -- : Skip /var/log/hoge (already backuped)
83
+ I, [2013-01-29T01:16:21.454681 #23625] INFO -- : Skip /var/log/hoge-20130125 (already backuped)
84
+ I, [2013-01-29T01:16:21.454747 #23625] INFO -- : Skip /var/log/hoge-20130126 (already backuped)
85
+ I, [2013-01-29T01:16:21.454790 #23625] INFO -- : Skip /var/log/hoge-20130129 (already backuped)
86
+ I, [2013-01-29T01:16:21.454831 #23625] INFO -- : Skip /var/log/hoge-20130127 (already backuped)
87
+ I, [2013-01-29T01:16:21.454999 #23625] INFO -- : Copy /var/log/messages to /tmp
88
+ I, [2013-01-29T01:17:44.487387 #23636] INFO -- : Start---------------
89
+ I, [2013-01-29T01:17:44.487545 #23636] INFO -- : Skip /var/log/hoge-20130128 (already backuped)
90
+ I, [2013-01-29T01:17:44.487603 #23636] INFO -- : Skip /var/log/hoge (already backuped)
91
+ I, [2013-01-29T01:17:44.487644 #23636] INFO -- : Skip /var/log/hoge-20130125 (already backuped)
92
+ I, [2013-01-29T01:17:44.487734 #23636] INFO -- : Skip /var/log/hoge-20130126 (already backuped)
93
+ I, [2013-01-29T01:17:44.487805 #23636] INFO -- : Skip /var/log/hoge-20130129 (already backuped)
94
+ I, [2013-01-29T01:17:44.487871 #23636] INFO -- : Skip /var/log/hoge-20130127 (already backuped)
95
+ I, [2013-01-29T01:17:44.487955 #23636] INFO -- : Copy /var/log/messages to /tmp
@@ -122,13 +122,6 @@ class LoggerTest < Test::Unit::TestCase
122
122
  end
123
123
  end
124
124
 
125
- def test_change_formatte
126
- RBatch::Log.new({:name => "file" , :formatter => proc { |severity, datetime, progname, msg| "test_change_formatte#{msg}\n" }}) do | log |
127
- log.info("bar")
128
- end
129
- File::open(File.join(@dir,"file")) {|f| assert_match /test_change_formatte/, f.read }
130
- end
131
-
132
125
  def test_nest_block
133
126
  RBatch::Log.new({:name => "name1" }) do | log |
134
127
  log.info("name1")
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rbatch
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.6.6
5
+ version: 1.7.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - fetaro
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2013-01-22 00:00:00 Z
13
+ date: 2013-01-30 00:00:00 Z
14
14
  dependencies: []
15
15
 
16
16
  description: ""
@@ -48,6 +48,7 @@ files:
48
48
  - sample/log/20130122_apache_log_insert.log
49
49
  - sample/log/20130122_openam_log_insert.log
50
50
  - sample/log/20130121_webagent_log_insert.log
51
+ - sample/log/20130129_log_backup.log
51
52
  - sample/log/20130121_file_batch_copy.log
52
53
  - sample/log/20130120_apache_log_insert.log
53
54
  - sample/log/empty
@@ -57,6 +58,7 @@ files:
57
58
  - sample/conf/openldap_backup.yaml
58
59
  - sample/conf/webagent_log_insert.yaml
59
60
  - sample/conf/apache_log_insert.yaml
61
+ - sample/conf/log_backup.yaml
60
62
  - sample/conf/mysql_data_backup.yaml
61
63
  - sample/conf/file_batch_copy.yaml
62
64
  - sample/conf/rbatch.yaml
@@ -67,6 +69,7 @@ files:
67
69
  - sample/bin/mysql_data_backup.rb
68
70
  - sample/bin/openam_log_insert.rb
69
71
  - sample/bin/file_batch_copy.rb
72
+ - sample/bin/log_backup.rb
70
73
  - sample/moto/README
71
74
  - sample/moto/gradlew
72
75
  - sample/moto/gradle.properties
@@ -157,6 +160,6 @@ rubyforge_project:
157
160
  rubygems_version: 1.7.1
158
161
  signing_key:
159
162
  specification_version: 3
160
- summary: batch framework
163
+ summary: simple batch framework
161
164
  test_files: []
162
165