restforce-db 0.1.4 → 0.1.5

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.
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