scrolls 0.0.1 → 0.0.2

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.
data/lib/scrolls.rb CHANGED
@@ -10,14 +10,13 @@ module Scrolls
10
10
  end
11
11
 
12
12
  def log_exception(data, e)
13
- Log.log_exception(data, &blk)
13
+ Log.log_exception(data, e)
14
14
  end
15
15
 
16
16
  module Log
17
17
  extend self
18
18
 
19
19
  def start
20
- $stdout.sync = $stderr.sync = true
21
20
  log(:log => true, :start => true)
22
21
  end
23
22
 
@@ -25,11 +24,22 @@ module Scrolls
25
24
  @mtx ||= Mutex.new
26
25
  end
27
26
 
28
- def write(data)
29
- msg = unparse(data)
30
- mtx.synchronize do
31
- $stdout.puts(msg)
32
- end
27
+ def sync_stdout
28
+ $stdout.sync = true
29
+ $stdout
30
+ end
31
+
32
+ def sync_stderr
33
+ $stderr.sync = true
34
+ $stderr
35
+ end
36
+
37
+ def stdout
38
+ @stdout ||= sync_stdout
39
+ end
40
+
41
+ def stderr
42
+ @stderr ||= sync_stderr
33
43
  end
34
44
 
35
45
  def unparse(data)
@@ -81,7 +91,8 @@ module Scrolls
81
91
  :message => e.message,
82
92
  :exception_id => e.object_id.abs
83
93
  ))
84
- e.backtrace.reverse.each do |line|
94
+ bt = e.backtrace.reverse
95
+ bt[0, bt.size-6].each do |line|
85
96
  log(data.merge(
86
97
  :exception => true,
87
98
  :exception_id => e.object_id.abs,
@@ -89,5 +100,15 @@ module Scrolls
89
100
  ))
90
101
  end
91
102
  end
103
+
104
+ private
105
+
106
+ def write(data, output=stdout)
107
+ msg = unparse(data)
108
+ mtx.synchronize do
109
+ output.puts(msg)
110
+ output.flush
111
+ end
112
+ end
92
113
  end
93
114
  end
@@ -1,3 +1,3 @@
1
1
  module Scrolls
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/scrolls.gemspec CHANGED
@@ -4,9 +4,9 @@ require File.expand_path('../lib/scrolls/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Heroku"]
6
6
  gem.email = ["curt@heroku.com"]
7
- gem.description = "Heroku logging, easier, more consistent."
7
+ gem.description = "Logging, easier, more consistent."
8
8
  gem.summary = "When do we log? All the time."
9
- gem.homepage = "https://github.com/heroku/scrolls"
9
+ gem.homepage = "https://github.com/asenchi/scrolls"
10
10
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
11
11
  gem.files = `git ls-files`.split("\n")
12
12
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrolls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-25 00:00:00.000000000 Z
12
+ date: 2012-02-27 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Heroku logging, easier, more consistent.
14
+ description: Logging, easier, more consistent.
15
15
  email:
16
16
  - curt@heroku.com
17
17
  executables: []
@@ -26,7 +26,7 @@ files:
26
26
  - lib/scrolls.rb
27
27
  - lib/scrolls/version.rb
28
28
  - scrolls.gemspec
29
- homepage: https://github.com/heroku/scrolls
29
+ homepage: https://github.com/asenchi/scrolls
30
30
  licenses: []
31
31
  post_install_message:
32
32
  rdoc_options: []