logster 0.0.6 → 0.0.7
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/README.md +2 -0
- data/bin/rake +16 -0
- data/lib/logster/middleware/reporter.rb +26 -0
- data/lib/logster/rails/railtie.rb +4 -0
- data/lib/logster/redis_store.rb +2 -2
- data/lib/logster/version.rb +1 -1
- data/vendor/assets/javascripts/logster.js.erb +30 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6db47d9f150d240a116b31797583819d771149a
|
4
|
+
data.tar.gz: d19dc6552f7e957c855fe08e226e5ddefb9e1b2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f93c9f0bb6e788aa84de4fd92dca6705095a91f9208186e3edf70661647928aa6c05c4a5494be41ad9efe7346be0bdf177b874de26255de3985404e9dda8fedd
|
7
|
+
data.tar.gz: d7189a4045d001f03238942e7253521b2a456ae946ab94aea5a9ca0a4dc546f008a89ce2a7202056c12027bcb461ef86bcd74b4565a40ff4ca3d384cbe6997dc
|
data/README.md
CHANGED
data/bin/rake
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'rake' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('rake', 'rake')
|
@@ -2,16 +2,42 @@ module Logster
|
|
2
2
|
module Middleware
|
3
3
|
class Reporter
|
4
4
|
|
5
|
+
PATH_INFO = "PATH_INFO".freeze
|
6
|
+
|
5
7
|
def initialize(app, config={})
|
6
8
|
@app = app
|
9
|
+
@error_path = (Logster.config.subdirectory || '/logs') + '/report_js_error'
|
7
10
|
end
|
8
11
|
|
9
12
|
def call(env)
|
10
13
|
Thread.current[Logster::Logger::LOGSTER_ENV] = env
|
14
|
+
|
15
|
+
path = env[PATH_INFO]
|
16
|
+
if path == @error_path
|
17
|
+
return report_js_error(env)
|
18
|
+
end
|
19
|
+
|
11
20
|
@app.call(env)
|
12
21
|
ensure
|
13
22
|
Thread.current[Logster::Logger::LOGSTER_ENV] = nil
|
14
23
|
end
|
24
|
+
|
25
|
+
def report_js_error(env)
|
26
|
+
req = Rack::Request.new(env)
|
27
|
+
message = req["message"] || ""
|
28
|
+
message << "\nUrl: " << req["url"] if req["url"]
|
29
|
+
message << "\nLine: " << req["line"] if req["line"]
|
30
|
+
message << "\nColumn: " << req["column"] if req["column"]
|
31
|
+
|
32
|
+
backtrace = req["stacktrace"] || ""
|
33
|
+
Logster.store.report(::Logger::Severity::WARN,
|
34
|
+
"javascript",
|
35
|
+
message,
|
36
|
+
backtrace: backtrace,
|
37
|
+
env: env)
|
38
|
+
[200,{},["OK"]]
|
39
|
+
end
|
40
|
+
|
15
41
|
end
|
16
42
|
end
|
17
43
|
end
|
data/lib/logster/redis_store.rb
CHANGED
@@ -23,13 +23,13 @@ module Logster
|
|
23
23
|
|
24
24
|
message = Message.new(severity, progname, message)
|
25
25
|
|
26
|
-
if opts && opts[:backtrace]
|
26
|
+
if opts && backtrace = opts[:backtrace]
|
27
27
|
message.backtrace = backtrace
|
28
28
|
else
|
29
29
|
message.backtrace = caller.join("\n")
|
30
30
|
end
|
31
31
|
|
32
|
-
if opts && env=opts[:env]
|
32
|
+
if opts && env = opts[:env]
|
33
33
|
message.populate_from_env(env)
|
34
34
|
end
|
35
35
|
|
data/lib/logster/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
(function(){
|
2
|
+
var lastReport = null;
|
3
|
+
|
4
|
+
window.onerror = function(message, url, line, column, errorObj) {
|
5
|
+
debugger;
|
6
|
+
// never bother reporting more than once a minute
|
7
|
+
if(lastReport && new Date() - lastReport < 1000 * 60) {
|
8
|
+
return;
|
9
|
+
}
|
10
|
+
|
11
|
+
lastReport = new Date();
|
12
|
+
|
13
|
+
var err = {
|
14
|
+
message: message,
|
15
|
+
url: url,
|
16
|
+
line: line,
|
17
|
+
column: column
|
18
|
+
};
|
19
|
+
|
20
|
+
if(errorObj && errorObj.stack) {
|
21
|
+
err.stacktrace = errorObj.stack;
|
22
|
+
}
|
23
|
+
|
24
|
+
$.ajax("<%= Logster.config.subdirectory || '/logs' %>" + "/report_js_error",{
|
25
|
+
data: err,
|
26
|
+
type: "POST",
|
27
|
+
cache: false
|
28
|
+
});
|
29
|
+
};
|
30
|
+
})();
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- UI for viewing logs in Rack
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -99,6 +99,7 @@ email:
|
|
99
99
|
- sam.saffron@gmail.com
|
100
100
|
executables:
|
101
101
|
- guard
|
102
|
+
- rake
|
102
103
|
extensions: []
|
103
104
|
extra_rdoc_files: []
|
104
105
|
files:
|
@@ -122,6 +123,7 @@ files:
|
|
122
123
|
- assets/javascript/templates/message.handlebars
|
123
124
|
- assets/stylesheets/app.css
|
124
125
|
- bin/guard
|
126
|
+
- bin/rake
|
125
127
|
- bower.json
|
126
128
|
- lib/logster.rb
|
127
129
|
- lib/logster/configuration.rb
|
@@ -137,6 +139,7 @@ files:
|
|
137
139
|
- test/logster/test_logger.rb
|
138
140
|
- test/logster/test_redis_store.rb
|
139
141
|
- test/test_helper.rb
|
142
|
+
- vendor/assets/javascripts/logster.js.erb
|
140
143
|
homepage: ''
|
141
144
|
licenses:
|
142
145
|
- MIT
|