mongo_request_logger 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +26 -14
- data/lib/mongo_request_logger/rack.rb +3 -0
- data/lib/mongo_request_logger/railtie.rb +9 -31
- data/lib/mongo_request_logger/version.rb +1 -1
- data/lib/mongo_request_logger.rb +48 -0
- data/spec/testapp/app.rb +12 -0
- data/spec/testapp/config.ru +9 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14cc51ac49b41aff00fa2706ef33b7d6746dc5c4
|
4
|
+
data.tar.gz: c31e051b7f43597f14a6801b50bdfac0d588ad4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03fc69114b36bd8655151147e521b7669648ea4ad495398bb97dff12d0d3d1e119fd254775f559745d220c59f489c6e09c1ce354729a46105911fb038bdddd1b
|
7
|
+
data.tar.gz: 6f595c406735e69032845e2544eb0bfd0019cd5da6509bec8c20fcaa2553e72bfb66ab354229cd52e5d258bc922a2830ba4c366f89003b032f92aad4da227a52
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -29,26 +29,38 @@ Routes for log viewer
|
|
29
29
|
mount MongoRequestLogger::Viewer, :at => "log"
|
30
30
|
|
31
31
|
|
32
|
+
## Usage with Sinatra (or other Rack-based apps)
|
32
33
|
|
33
|
-
|
34
|
+
Config file is the same as with Rails.
|
34
35
|
|
35
|
-
In config.ru
|
36
|
+
In config.ru:
|
36
37
|
|
37
|
-
require '
|
38
|
+
require 'mongo_request_logger'
|
39
|
+
require './yourapp'
|
38
40
|
|
39
|
-
|
40
|
-
|
41
|
-
collection: 'log',
|
42
|
-
capsize: 100, # megabytes
|
43
|
-
}
|
44
|
-
|
45
|
-
adapter = MongoRequestLogger::Adapters::Moped.new(config)
|
46
|
-
logger = MongoRequestLogger::Logger.new(adapter, "myapp.log")
|
47
|
-
MongoRequestLogger::Rack.logger = loggger
|
41
|
+
# Configure database details
|
42
|
+
MongoRequestLogger.configure(File.join(File.dirname(__FILE__), 'config/logger.yml'))
|
48
43
|
|
44
|
+
# Enable the middleware to log the requests
|
49
45
|
use MongoRequestLogger::Rack
|
50
46
|
|
51
|
-
|
47
|
+
# Mount the log viewer in /log
|
48
|
+
run Rack::URLMap.new("/" => YourApp.new,
|
49
|
+
"/log" => MongoRequestLogger::Viewer.new)
|
50
|
+
|
51
|
+
In a Sinatra app:
|
52
|
+
|
53
|
+
# Disable the default logger
|
54
|
+
set :logging, nil
|
55
|
+
|
56
|
+
get '/' do
|
57
|
+
logger.info "Logging from Sinatra!"
|
58
|
+
end
|
59
|
+
|
60
|
+
In other Rack-based apps:
|
61
|
+
|
62
|
+
env['rack.logger'].info "Logging from Rack!"
|
63
|
+
|
52
64
|
|
53
65
|
## Ignoring paths
|
54
66
|
|
@@ -57,7 +69,7 @@ to be ignored:
|
|
57
69
|
|
58
70
|
MongoRequestLogger::Rack.ignore_prefixes << '/assets/'
|
59
71
|
|
60
|
-
## Usage with
|
72
|
+
## Usage with Resque
|
61
73
|
|
62
74
|
Extend from MongoRequestLogger::LoggedJob, to have each job logged as if it was a request.
|
63
75
|
|
@@ -1,51 +1,29 @@
|
|
1
1
|
if (defined? Rails) && Rails.version =~ /^3\./
|
2
2
|
require 'mongo_request_logger'
|
3
|
-
require 'mongo_request_logger/config'
|
4
|
-
require 'mongo_request_logger/rack'
|
5
|
-
require 'mongo_request_logger/viewer'
|
6
3
|
|
7
4
|
require 'rails'
|
8
5
|
|
9
|
-
begin
|
10
|
-
# We prefer moped ...
|
11
|
-
require 'moped'
|
12
|
-
rescue LoadError
|
13
|
-
# ... but fallback to mongo
|
14
|
-
require 'mongo'
|
15
|
-
end
|
16
|
-
|
17
6
|
module MongoRequestLogger
|
18
7
|
class Railtie < ::Rails::Railtie
|
19
8
|
class << self
|
20
9
|
def setup(app)
|
10
|
+
logger = MongoRequestLogger.configure(Rails.root.join('config/logger.yml'), fallback_log: Rails.root.join("log/#{Rails.env}.log"))
|
11
|
+
|
12
|
+
app.config.logger = logger
|
21
13
|
|
22
|
-
|
23
|
-
global_config.load_file(File.join(Rails.root, "config/logger.yml"))
|
24
|
-
log_config = global_config.namespaced(Rails.env)
|
25
|
-
return unless log_config && log_config['database']
|
14
|
+
Rails.logger = logger
|
26
15
|
|
27
|
-
if defined?
|
28
|
-
|
29
|
-
else
|
30
|
-
adapter = MongoRequestLogger::Adapters::Mongo.new(log_config)
|
16
|
+
if defined? ActiveRecord
|
17
|
+
ActiveRecord::Base.logger = logger
|
31
18
|
end
|
32
|
-
Rails.logger = MongoRequestLogger::Logger.new adapter, Rails.root.join("log/#{Rails.env}.log")
|
33
19
|
|
34
|
-
|
35
|
-
|
20
|
+
if defined? ActionController
|
21
|
+
ActionController::Base.logger = logger
|
22
|
+
end
|
36
23
|
|
37
|
-
MongoRequestLogger::Viewer.adapter = adapter
|
38
24
|
|
39
25
|
app.config.middleware.insert_after ActionDispatch::DebugExceptions, MongoRequestLogger::Rack
|
40
26
|
|
41
|
-
if defined?(PhusionPassenger)
|
42
|
-
PhusionPassenger.on_event(:starting_worker_process) do |forked|
|
43
|
-
if forked
|
44
|
-
adapter.reconnect
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
27
|
end
|
50
28
|
end
|
51
29
|
|
data/lib/mongo_request_logger.rb
CHANGED
@@ -2,6 +2,7 @@ require 'mongo_request_logger/ext/buffered_logger'
|
|
2
2
|
require 'mongo_request_logger/ext/logger'
|
3
3
|
require 'mongo_request_logger/logger'
|
4
4
|
require 'mongo_request_logger/version'
|
5
|
+
require 'mongo_request_logger/rack'
|
5
6
|
|
6
7
|
if defined?(Rails)
|
7
8
|
require 'mongo_request_logger/railtie'
|
@@ -12,5 +13,52 @@ require 'mongo_request_logger/adapters/mongo'
|
|
12
13
|
|
13
14
|
|
14
15
|
module MongoRequestLogger
|
16
|
+
def self.configure(config_path, options={})
|
17
|
+
require 'mongo_request_logger/config'
|
18
|
+
require 'mongo_request_logger/rack'
|
19
|
+
require 'mongo_request_logger/viewer'
|
15
20
|
|
21
|
+
begin
|
22
|
+
# We prefer moped ...
|
23
|
+
require 'moped'
|
24
|
+
rescue LoadError
|
25
|
+
# ... but fallback to mongo
|
26
|
+
require 'mongo'
|
27
|
+
end
|
28
|
+
|
29
|
+
environment = ENV['RACK_ENV'] || ENV['RAILS_ENV']
|
30
|
+
|
31
|
+
global_config = MongoRequestLogger::Config.new
|
32
|
+
global_config.load_file(config_path)
|
33
|
+
log_config = global_config.namespaced(environment)
|
34
|
+
|
35
|
+
return false unless log_config && log_config['database']
|
36
|
+
|
37
|
+
if defined? Moped
|
38
|
+
adapter = MongoRequestLogger::Adapters::Moped.new(log_config)
|
39
|
+
else
|
40
|
+
adapter = MongoRequestLogger::Adapters::Mongo.new(log_config)
|
41
|
+
end
|
42
|
+
|
43
|
+
fallback_log = options[:fallback_log] || log_config['fallback_log'] || "log/#{environment}.log"
|
44
|
+
|
45
|
+
logger = MongoRequestLogger::Logger.new adapter, fallback_log
|
46
|
+
|
47
|
+
MongoRequestLogger::Rack.logger = logger
|
48
|
+
MongoRequestLogger::Rack.ignore_prefixes << '/assets'
|
49
|
+
MongoRequestLogger::Rack.ignore_prefixes << '/favicon.ico'
|
50
|
+
|
51
|
+
MongoRequestLogger::Viewer.adapter = adapter
|
52
|
+
|
53
|
+
if defined?(PhusionPassenger)
|
54
|
+
PhusionPassenger.on_event(:starting_worker_process) do |forked|
|
55
|
+
if forked
|
56
|
+
adapter.reconnect
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
logger
|
62
|
+
|
63
|
+
end
|
16
64
|
end
|
data/spec/testapp/app.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo_request_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Embark Mobile
|
@@ -396,6 +396,8 @@ files:
|
|
396
396
|
- spec/railtie_spec.rb
|
397
397
|
- spec/shared_examples.rb
|
398
398
|
- spec/spec_helper.rb
|
399
|
+
- spec/testapp/app.rb
|
400
|
+
- spec/testapp/config.ru
|
399
401
|
- spec/testapp/config/logger.yml
|
400
402
|
- spec/testapp/log/.gitkeep
|
401
403
|
- views/index.erb
|
@@ -429,5 +431,7 @@ test_files:
|
|
429
431
|
- spec/railtie_spec.rb
|
430
432
|
- spec/shared_examples.rb
|
431
433
|
- spec/spec_helper.rb
|
434
|
+
- spec/testapp/app.rb
|
435
|
+
- spec/testapp/config.ru
|
432
436
|
- spec/testapp/config/logger.yml
|
433
437
|
- spec/testapp/log/.gitkeep
|