restforce-db 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0cc0005c0f2912c195d0c16866ab8f0f2052e4db
4
- data.tar.gz: 2b28c71a8c76b6bc4c08535d8d5c71a4ed1c7aef
3
+ metadata.gz: f5c876e8802d8d0c563d8229ea3ebcfaa79347ce
4
+ data.tar.gz: c74173bd30c5d1994091bf2ab832ad214403c9ed
5
5
  SHA512:
6
- metadata.gz: d93308753057f5b9a020d59202f8acb3d1140cc18264d8669cd11e5c8818e960f3105870d6a02dbe4f1a2c88ca5b6f7e9f4eabd863cf070becf1b20ae18b38bd
7
- data.tar.gz: 52ff1b22102b140ccec6021b57af2d2bd60996f3df4f47368e236f03642e4216389a588864c423c4fa6062d4df1b295309959b102fa6561a0c1aabadec412b12
6
+ metadata.gz: 54721e2987733bd681aeda548e188438c0905771870820b38fa115a7c490dbfd8ee5d63691448384951649a2df23b34410bb877c4d14d013d6247c54d5c956b7
7
+ data.tar.gz: d7949e0760680a8433b5f9c6019a75c09e5862bc0013062403e2ae7d12ff70017aeed8eb8b1e585bd8c5bff507778000f30efa2e3e5a8a3ad4298c945f5f8674
@@ -18,6 +18,7 @@ module Restforce
18
18
  verbose: false,
19
19
  pid_dir: Rails.root.join("tmp", "pids"),
20
20
  config: Rails.root.join("config", "restforce-db.yml"),
21
+ logfile: Rails.root.join("log", "restforce-db.log"),
21
22
  }
22
23
 
23
24
  @args = parser.parse!(args)
@@ -55,7 +56,7 @@ module Restforce
55
56
  Dir.chdir(Rails.root)
56
57
 
57
58
  Restforce::DB::Worker.after_fork
58
- Restforce::DB::Worker.logger ||= Logger.new(File.join(Rails.root, "log", "restforce-db.log"))
59
+ Restforce::DB::Worker.logger ||= logger
59
60
 
60
61
  worker = Restforce::DB::Worker.new(options)
61
62
  worker.start
@@ -68,7 +69,7 @@ module Restforce
68
69
  # Internal: Get an OptionParser for the Restforce::DB CLI.
69
70
  #
70
71
  # Returns an OptionParser.
71
- def parser
72
+ def parser # rubocop:disable MethodLength
72
73
  @parser ||= OptionParser.new do |opt|
73
74
  opt.banner = "Usage: #{File.basename($PROGRAM_NAME)} [options] start|stop|restart|run"
74
75
 
@@ -82,6 +83,9 @@ module Restforce
82
83
  opt.on("-i N", "--interval N", "Amount of time to wait between synchronizations.") do |n|
83
84
  @options[:interval] = n.to_i
84
85
  end
86
+ opt.on("-l FILE ", "--logfile FILE", "The file where logging output should be captured.") do |file|
87
+ @options[:logfile] = file
88
+ end
85
89
  opt.on("--pid-dir DIR", "The directory in which to store the pidfile.") do |dir|
86
90
  @options[:pid_dir] = dir
87
91
  end
@@ -91,6 +95,18 @@ module Restforce
91
95
  end
92
96
  end
93
97
 
98
+ # Internal: Get a Logger instance to capture output from the sync worker.
99
+ # Makes the default log formatting a bit more reader-friendly.
100
+ #
101
+ # Returns a Logger.
102
+ def logger
103
+ @logger ||= Logger.new(@options[:logfile]).tap do |logger|
104
+ logger.formatter = proc do |severity, datetime, _progname, msg|
105
+ "#{severity} [#{datetime.strftime('%Y-%m-%d %H:%M:%S')}] #{msg}\n"
106
+ end
107
+ end
108
+ end
109
+
94
110
  end
95
111
 
96
112
  end
@@ -3,7 +3,7 @@ module Restforce
3
3
  # :nodoc:
4
4
  module DB
5
5
 
6
- VERSION = "0.1.4"
6
+ VERSION = "0.1.5"
7
7
 
8
8
  end
9
9
 
@@ -71,9 +71,9 @@ module Restforce
71
71
  stop
72
72
  end
73
73
 
74
- log "Starting synchronization..."
75
-
76
74
  loop do
75
+ log "=============================="
76
+
77
77
  runtime = Benchmark.realtime do
78
78
  Restforce::DB::RecordType.each do |name, record_type|
79
79
  synchronize name, record_type
@@ -131,12 +131,10 @@ module Restforce
131
131
  #
132
132
  # Returns nothing.
133
133
  def log(text, level = :info)
134
- text = "[Restforce::DB] #{text}"
135
134
  puts text if @verbose
136
135
 
137
136
  return unless self.class.logger
138
-
139
- self.class.logger.send(level, "#{Time.now.strftime('%FT%T%z')}: #{text}")
137
+ self.class.logger.send(level, text)
140
138
  end
141
139
 
142
140
  # Internal: Log an error for the worker, outputting the entire error
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restforce-db
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Horner