rbatch 1.6.6 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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