mongo_request_logger 0.2.2 → 0.2.3
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 +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
|