mongodb_logger 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +13 -0
- data/README.md +6 -1
- data/Rakefile +2 -2
- data/SUPPORTED_RAILS_VERSIONS +5 -1
- data/lib/mongodb_logger/logger.rb +18 -10
- data/lib/mongodb_logger/version.rb +1 -1
- data/test/config/samples/database_with_url.yml +7 -0
- data/test/test_helper.rb +1 -0
- data/test/unit/mongodb_logger_test.rb +15 -5
- metadata +44 -42
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
## v0.3.2
|
2
|
+
|
3
|
+
* Initialize a connection to MongoDB using the MongoDB URI spec
|
4
|
+
* Fix logger.info/warn/error for Rails 3.2.x
|
5
|
+
|
6
|
+
## v0.3.1
|
7
|
+
|
8
|
+
* Fix broken images in if using assets pipeline
|
9
|
+
|
10
|
+
## v0.3.0
|
11
|
+
|
12
|
+
* Added assets pipeline support
|
13
|
+
|
1
14
|
## v0.2.8
|
2
15
|
|
3
16
|
* Added callback on exception
|
data/README.md
CHANGED
@@ -58,7 +58,12 @@ For rails 3.0.x latest version 0.2.8.
|
|
58
58
|
host: localhost
|
59
59
|
port: 27017
|
60
60
|
replica_set: true
|
61
|
-
|
61
|
+
|
62
|
+
Also you can use "url" parameter for setup connection to mongodb:
|
63
|
+
|
64
|
+
development:
|
65
|
+
url: mongodb://localhost:27017/my_app
|
66
|
+
capsize: <%= 10.megabytes %>
|
62
67
|
|
63
68
|
|
64
69
|
1. For using with MongoDB Replica Set (more info you can read by this link [http://www.mongodb.org/display/DOCS/Replica+Sets](http://www.mongodb.org/display/DOCS/Replica+Sets)). In config set list of [host, port] in key "hosts":
|
data/Rakefile
CHANGED
@@ -77,9 +77,9 @@ LOCAL_GEM_ROOT = File.join(GEM_ROOT, 'tmp', 'local_gems').freeze
|
|
77
77
|
if ENV['CI']
|
78
78
|
# for ci testing only major rails versions
|
79
79
|
if 'java' == RUBY_PLATFORM
|
80
|
-
RAILS_VERSIONS = ['3.1.
|
80
|
+
RAILS_VERSIONS = ['3.1.6', '3.2.6']
|
81
81
|
else
|
82
|
-
RAILS_VERSIONS = ['3.1.
|
82
|
+
RAILS_VERSIONS = ['3.1.6', '3.2.6']
|
83
83
|
end
|
84
84
|
else
|
85
85
|
RAILS_VERSIONS = IO.read('SUPPORTED_RAILS_VERSIONS').strip.split("\n")
|
data/SUPPORTED_RAILS_VERSIONS
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'erb'
|
2
|
+
require 'uri'
|
2
3
|
require 'mongo'
|
3
4
|
require 'active_support'
|
4
5
|
require 'active_support/core_ext'
|
6
|
+
require 'active_support/core_ext/logger'
|
5
7
|
require 'action_dispatch/http/upload'
|
6
8
|
require 'mongodb_logger/replica_set_helper'
|
7
9
|
|
@@ -18,19 +20,17 @@ module MongodbLogger
|
|
18
20
|
|
19
21
|
def initialize(options={})
|
20
22
|
path = options[:path] || File.join(Rails.root, "log/#{Rails.env}.log")
|
21
|
-
level = options[:level] || DEBUG
|
23
|
+
@level = options[:level] || DEBUG
|
22
24
|
internal_initialize
|
23
25
|
rescue => e
|
24
26
|
# should use a config block for this
|
25
27
|
Rails.env.production? ? (raise e) : (puts "MongodbLogger WARNING: Using BufferedLogger due to exception: " + e.message)
|
26
28
|
ensure
|
27
29
|
if disable_file_logging?
|
28
|
-
@
|
29
|
-
@
|
30
|
-
@auto_flushing = 1
|
31
|
-
@guard = Mutex.new
|
30
|
+
@log = ::Logger.new(STDOUT)
|
31
|
+
@log.level = @level
|
32
32
|
else
|
33
|
-
super(path, level)
|
33
|
+
super(path, @level)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -155,6 +155,8 @@ module MongodbLogger
|
|
155
155
|
conn = Mongo::ReplSetConnection.new(*(@db_configuration['hosts'] <<
|
156
156
|
{:connect => true, :pool_timeout => 6}))
|
157
157
|
@db_configuration['replica_set'] = true
|
158
|
+
elsif @db_configuration['url']
|
159
|
+
conn = Mongo::Connection.from_uri(@db_configuration['url'])
|
158
160
|
else
|
159
161
|
conn = Mongo::Connection.new(@db_configuration['host'],
|
160
162
|
@db_configuration['port'],
|
@@ -166,11 +168,17 @@ module MongodbLogger
|
|
166
168
|
end
|
167
169
|
|
168
170
|
def connect
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
@authenticated =
|
171
|
+
if @db_configuration['url']
|
172
|
+
uri = URI.parse(@db_configuration['url'])
|
173
|
+
@mongo_connection ||= mongo_connection_object.db(uri.path.gsub(/^\//, ''))
|
174
|
+
@authenticated = true
|
175
|
+
else
|
176
|
+
@mongo_connection ||= mongo_connection_object.db(@db_configuration['database'])
|
177
|
+
if @db_configuration['username'] && @db_configuration['password']
|
178
|
+
# the driver stores credentials in case reconnection is required
|
179
|
+
@authenticated = @mongo_connection.authenticate(@db_configuration['username'],
|
173
180
|
@db_configuration['password'])
|
181
|
+
end
|
174
182
|
end
|
175
183
|
end
|
176
184
|
|
data/test/test_helper.rb
CHANGED
@@ -23,6 +23,7 @@ class Test::Unit::TestCase
|
|
23
23
|
SAMPLE_CONFIG_DIR = File.join(CONFIG_DIR, "samples")
|
24
24
|
DEFAULT_CONFIG = "database.yml"
|
25
25
|
DEFAULT_CONFIG_WITH_AUTH = "database_with_auth.yml"
|
26
|
+
DEFAULT_CONFIG_WITH_URL = "database_with_url.yml"
|
26
27
|
DEFAULT_CONFIG_WITH_COLLECTION = "database_with_collection.yml"
|
27
28
|
DEFAULT_CONFIG_WITH_NO_FILE_LOGGING = "database_no_file_logging.yml"
|
28
29
|
MONGOID_CONFIG = "mongoid.yml"
|
@@ -46,6 +46,19 @@ class MongodbLogger::LoggerTest < Test::Unit::TestCase
|
|
46
46
|
teardown_for_config(MONGOID_CONFIG)
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
context "upon connecting with url settings" do
|
51
|
+
setup do
|
52
|
+
setup_for_config(DEFAULT_CONFIG_WITH_URL, DEFAULT_CONFIG)
|
53
|
+
end
|
54
|
+
|
55
|
+
should "connect with the url" do
|
56
|
+
@mongodb_logger.send(:connect)
|
57
|
+
assert @mongodb_logger.authenticated?
|
58
|
+
assert_equal "system_log", @mongodb_logger.mongo_connection.name
|
59
|
+
assert_equal ["localhost", 27017], @mongodb_logger.mongo_connection.connection.primary
|
60
|
+
end
|
61
|
+
end
|
49
62
|
|
50
63
|
# this test will work without the --auth mongod arg
|
51
64
|
context "upon connecting with authentication settings" do
|
@@ -243,11 +256,8 @@ class MongodbLogger::LoggerTest < Test::Unit::TestCase
|
|
243
256
|
MongodbLogger::Logger.new
|
244
257
|
end
|
245
258
|
|
246
|
-
should "set
|
247
|
-
|
248
|
-
end
|
249
|
-
should "set guard" do
|
250
|
-
assert MongodbLogger::Logger.new.instance_variable_get(:@guard).is_a?(Mutex)
|
259
|
+
should "set log" do
|
260
|
+
assert MongodbLogger::Logger.new.instance_variable_get(:@log).is_a?(Logger)
|
251
261
|
end
|
252
262
|
end
|
253
263
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongodb_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jasmine
|
16
|
-
requirement: &
|
16
|
+
requirement: &70234270786760 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.0.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70234270786760
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70234270785120 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.8.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70234270785120
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: shoulda
|
38
|
-
requirement: &
|
38
|
+
requirement: &70234270784460 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70234270784460
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mocha
|
49
|
-
requirement: &
|
49
|
+
requirement: &70234270783780 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.10.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70234270783780
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: cucumber
|
60
|
-
requirement: &
|
60
|
+
requirement: &70234270782740 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.1.2
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70234270782740
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: capybara
|
71
|
-
requirement: &
|
71
|
+
requirement: &70234270781560 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.1.2
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70234270781560
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: uglifier
|
82
|
-
requirement: &
|
82
|
+
requirement: &70234270780000 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 1.2.0
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70234270780000
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: therubyracer
|
93
|
-
requirement: &
|
93
|
+
requirement: &70234270778360 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 0.9.9
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70234270778360
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rake
|
104
|
-
requirement: &
|
104
|
+
requirement: &70234270773760 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 0.9.0
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70234270773760
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: mongo
|
115
|
-
requirement: &
|
115
|
+
requirement: &70234270772900 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: 1.6.1
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70234270772900
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: bson_ext
|
126
|
-
requirement: &
|
126
|
+
requirement: &70234270771520 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: 1.6.1
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70234270771520
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: i18n
|
137
|
-
requirement: &
|
137
|
+
requirement: &70234270770440 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: 0.4.1
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *70234270770440
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: json
|
148
|
-
requirement: &
|
148
|
+
requirement: &70234270769820 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,10 +153,10 @@ dependencies:
|
|
153
153
|
version: 1.6.1
|
154
154
|
type: :runtime
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *70234270769820
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: activesupport
|
159
|
-
requirement: &
|
159
|
+
requirement: &70234270769100 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,10 +164,10 @@ dependencies:
|
|
164
164
|
version: 3.0.0
|
165
165
|
type: :runtime
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *70234270769100
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: actionpack
|
170
|
-
requirement: &
|
170
|
+
requirement: &70234270768320 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ! '>='
|
@@ -175,10 +175,10 @@ dependencies:
|
|
175
175
|
version: 3.0.0
|
176
176
|
type: :runtime
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
178
|
+
version_requirements: *70234270768320
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: sprockets
|
181
|
-
requirement: &
|
181
|
+
requirement: &70234270767560 !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|
184
184
|
- - ! '>='
|
@@ -186,10 +186,10 @@ dependencies:
|
|
186
186
|
version: 2.0.0
|
187
187
|
type: :runtime
|
188
188
|
prerelease: false
|
189
|
-
version_requirements: *
|
189
|
+
version_requirements: *70234270767560
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: coffee-script
|
192
|
-
requirement: &
|
192
|
+
requirement: &70234270766740 !ruby/object:Gem::Requirement
|
193
193
|
none: false
|
194
194
|
requirements:
|
195
195
|
- - ! '>='
|
@@ -197,10 +197,10 @@ dependencies:
|
|
197
197
|
version: 2.2.0
|
198
198
|
type: :runtime
|
199
199
|
prerelease: false
|
200
|
-
version_requirements: *
|
200
|
+
version_requirements: *70234270766740
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: sinatra
|
203
|
-
requirement: &
|
203
|
+
requirement: &70234270765820 !ruby/object:Gem::Requirement
|
204
204
|
none: false
|
205
205
|
requirements:
|
206
206
|
- - ! '>='
|
@@ -208,10 +208,10 @@ dependencies:
|
|
208
208
|
version: 1.2.0
|
209
209
|
type: :runtime
|
210
210
|
prerelease: false
|
211
|
-
version_requirements: *
|
211
|
+
version_requirements: *70234270765820
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: erubis
|
214
|
-
requirement: &
|
214
|
+
requirement: &70234270763480 !ruby/object:Gem::Requirement
|
215
215
|
none: false
|
216
216
|
requirements:
|
217
217
|
- - ! '>='
|
@@ -219,10 +219,10 @@ dependencies:
|
|
219
219
|
version: 2.6.6
|
220
220
|
type: :runtime
|
221
221
|
prerelease: false
|
222
|
-
version_requirements: *
|
222
|
+
version_requirements: *70234270763480
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: vegas
|
225
|
-
requirement: &
|
225
|
+
requirement: &70234270762780 !ruby/object:Gem::Requirement
|
226
226
|
none: false
|
227
227
|
requirements:
|
228
228
|
- - ! '>='
|
@@ -230,7 +230,7 @@ dependencies:
|
|
230
230
|
version: 0.1.2
|
231
231
|
type: :runtime
|
232
232
|
prerelease: false
|
233
|
-
version_requirements: *
|
233
|
+
version_requirements: *70234270762780
|
234
234
|
description: MongoDB logger for Rails 3
|
235
235
|
email:
|
236
236
|
- leopard.not.a@gmail.com
|
@@ -352,6 +352,7 @@ files:
|
|
352
352
|
- test/config/samples/database_replica_set.yml
|
353
353
|
- test/config/samples/database_with_auth.yml
|
354
354
|
- test/config/samples/database_with_collection.yml
|
355
|
+
- test/config/samples/database_with_url.yml
|
355
356
|
- test/config/samples/mongodb_logger.yml
|
356
357
|
- test/config/samples/mongoid.yml
|
357
358
|
- test/config/samples/server_config.yml
|
@@ -410,6 +411,7 @@ test_files:
|
|
410
411
|
- test/config/samples/database_replica_set.yml
|
411
412
|
- test/config/samples/database_with_auth.yml
|
412
413
|
- test/config/samples/database_with_collection.yml
|
414
|
+
- test/config/samples/database_with_url.yml
|
413
415
|
- test/config/samples/mongodb_logger.yml
|
414
416
|
- test/config/samples/mongoid.yml
|
415
417
|
- test/config/samples/server_config.yml
|