mongodb_logger 0.3.1-jruby → 0.3.2-jruby

Sign up to get free protection for your applications and to get access to all the features.
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.3', '3.2.5']
80
+ RAILS_VERSIONS = ['3.1.6', '3.2.6']
81
81
  else
82
- RAILS_VERSIONS = ['3.1.3', '3.2.5']
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")
@@ -2,8 +2,12 @@
2
2
  3.1.1
3
3
  3.1.2
4
4
  3.1.3
5
+ 3.1.4
6
+ 3.1.5
7
+ 3.1.6
5
8
  3.2.0
6
9
  3.2.1
7
10
  3.2.2
8
11
  3.2.3
9
- 3.2.5
12
+ 3.2.5
13
+ 3.2.6
@@ -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
- @level = level
29
- @buffer = {}
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
- @mongo_connection ||= mongo_connection_object.db(@db_configuration['database'])
170
- if @db_configuration['username'] && @db_configuration['password']
171
- # the driver stores credentials in case reconnection is required
172
- @authenticated = @mongo_connection.authenticate(@db_configuration['username'],
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
 
@@ -1,3 +1,3 @@
1
1
  module MongodbLogger
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
@@ -0,0 +1,7 @@
1
+ test:
2
+ adapter: sqlite3
3
+ database: db/test.sqlite3
4
+ pool: 5
5
+ timeout: 5000
6
+ mongodb_logger:
7
+ url: mongodb://localhost:27017/system_log
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 buffer" do
247
- assert_equal({}, MongodbLogger::Logger.new.instance_variable_get(:@buffer))
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.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: jruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-10 00:00:00.000000000 Z
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: &70209029461980 !ruby/object:Gem::Requirement
16
+ requirement: &70271130312520 !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: *70209029461980
24
+ version_requirements: *70271130312520
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70209029461240 !ruby/object:Gem::Requirement
27
+ requirement: &70271130311520 !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: *70209029461240
35
+ version_requirements: *70271130311520
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: shoulda
38
- requirement: &70209029460720 !ruby/object:Gem::Requirement
38
+ requirement: &70271130310840 !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: *70209029460720
46
+ version_requirements: *70271130310840
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mocha
49
- requirement: &70209029460160 !ruby/object:Gem::Requirement
49
+ requirement: &70271130310140 !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: *70209029460160
57
+ version_requirements: *70271130310140
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cucumber
60
- requirement: &70209029459560 !ruby/object:Gem::Requirement
60
+ requirement: &70271130309580 !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: *70209029459560
68
+ version_requirements: *70271130309580
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: capybara
71
- requirement: &70209029458980 !ruby/object:Gem::Requirement
71
+ requirement: &70271130308820 !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: *70209029458980
79
+ version_requirements: *70271130308820
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: uglifier
82
- requirement: &70209029458380 !ruby/object:Gem::Requirement
82
+ requirement: &70271130308200 !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: *70209029458380
90
+ version_requirements: *70271130308200
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rake
93
- requirement: &70209029457280 !ruby/object:Gem::Requirement
93
+ requirement: &70271130307480 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.9.0
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70209029457280
101
+ version_requirements: *70271130307480
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: mongo
104
- requirement: &70209029456360 !ruby/object:Gem::Requirement
104
+ requirement: &70271130306820 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 1.6.1
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70209029456360
112
+ version_requirements: *70271130306820
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: i18n
115
- requirement: &70209029455480 !ruby/object:Gem::Requirement
115
+ requirement: &70271130306220 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 0.4.1
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70209029455480
123
+ version_requirements: *70271130306220
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: json
126
- requirement: &70209029454520 !ruby/object:Gem::Requirement
126
+ requirement: &70271130305520 !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: *70209029454520
134
+ version_requirements: *70271130305520
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: activesupport
137
- requirement: &70209029453680 !ruby/object:Gem::Requirement
137
+ requirement: &70271130304580 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 3.0.0
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *70209029453680
145
+ version_requirements: *70271130304580
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: actionpack
148
- requirement: &70209029452760 !ruby/object:Gem::Requirement
148
+ requirement: &70271130303940 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 3.0.0
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *70209029452760
156
+ version_requirements: *70271130303940
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: sprockets
159
- requirement: &70209029452040 !ruby/object:Gem::Requirement
159
+ requirement: &70271130303300 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 2.0.0
165
165
  type: :runtime
166
166
  prerelease: false
167
- version_requirements: *70209029452040
167
+ version_requirements: *70271130303300
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: coffee-script
170
- requirement: &70209029451060 !ruby/object:Gem::Requirement
170
+ requirement: &70271130302400 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ~>
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 2.2.0
176
176
  type: :runtime
177
177
  prerelease: false
178
- version_requirements: *70209029451060
178
+ version_requirements: *70271130302400
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: sinatra
181
- requirement: &70209029450360 !ruby/object:Gem::Requirement
181
+ requirement: &70271130301800 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 1.2.0
187
187
  type: :runtime
188
188
  prerelease: false
189
- version_requirements: *70209029450360
189
+ version_requirements: *70271130301800
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: erubis
192
- requirement: &70209029449500 !ruby/object:Gem::Requirement
192
+ requirement: &70271130301000 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 2.6.6
198
198
  type: :runtime
199
199
  prerelease: false
200
- version_requirements: *70209029449500
200
+ version_requirements: *70271130301000
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: vegas
203
- requirement: &70209029448800 !ruby/object:Gem::Requirement
203
+ requirement: &70271130300280 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ~>
@@ -208,7 +208,7 @@ dependencies:
208
208
  version: 0.1.2
209
209
  type: :runtime
210
210
  prerelease: false
211
- version_requirements: *70209029448800
211
+ version_requirements: *70271130300280
212
212
  description: MongoDB logger for Rails 3
213
213
  email:
214
214
  - leopard.not.a@gmail.com
@@ -330,6 +330,7 @@ files:
330
330
  - test/config/samples/database_replica_set.yml
331
331
  - test/config/samples/database_with_auth.yml
332
332
  - test/config/samples/database_with_collection.yml
333
+ - test/config/samples/database_with_url.yml
333
334
  - test/config/samples/mongodb_logger.yml
334
335
  - test/config/samples/mongoid.yml
335
336
  - test/config/samples/server_config.yml
@@ -388,6 +389,7 @@ test_files:
388
389
  - test/config/samples/database_replica_set.yml
389
390
  - test/config/samples/database_with_auth.yml
390
391
  - test/config/samples/database_with_collection.yml
392
+ - test/config/samples/database_with_url.yml
391
393
  - test/config/samples/mongodb_logger.yml
392
394
  - test/config/samples/mongoid.yml
393
395
  - test/config/samples/server_config.yml