prepor-ologger 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.rdoc CHANGED
@@ -16,11 +16,23 @@
16
16
 
17
17
  # Configs
18
18
  OLogger.path = Pathname('log/ologs')
19
+ OLogger.on_raise = lambda { |e| send_to_email(e) }
20
+
21
+
19
22
 
20
23
  # In objects
21
24
  def start!(character)
22
25
  ologger "Starting project", character
23
26
  end
27
+
28
+ # For raise exceptions to object log
29
+ class A
30
+ # definitions
31
+
32
+ # AFTER definition
33
+ include OLogger::Raiser
34
+ end
35
+
24
36
 
25
37
 
26
38
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.5
@@ -1,20 +1,18 @@
1
- class StandardError
2
- attr_accessor :obj
3
- end
4
- module Kernel
5
- def ologger_raise(*argv)
6
- if Thread.current[:ologger_raiser]
7
- argv.each do |e|
8
- e.obj = self if e.is_a?(StandardError)
1
+ module OLogger
2
+ module Raiser
3
+ def self.included(base)
4
+ base.instance_methods.each do |m|
5
+ unless m =~ /^__|instance_eval|=|`/
6
+ base.class_eval %Q{def with_ologger_#{m}(*args, &block)
7
+ Thread.current[:ologger_raiser] = self
8
+ without_ologger_#{m}(*args, &block)
9
+ end
10
+ }
11
+ base.send :alias_method, :"without_ologger_#{m}", m
12
+ base.send :alias_method, m, :"with_ologger_#{m}"
13
+ end
9
14
  end
10
- ologger_old_raise(*argv)
11
- else
12
- ologger_old_raise(*argv)
13
15
  end
14
16
  end
15
-
16
- alias_method :ologger_old_raise, :raise
17
- alias_method :raise, :ologger_raise
18
-
19
17
  end
20
18
 
data/lib/ologger.rb CHANGED
@@ -61,7 +61,7 @@ module OLogger
61
61
 
62
62
  def get_logs(log_module)
63
63
  path = OLogger.path + log_module
64
- path.entries.select { |v| not_self_and_parent v }.map{ |v| v.to_s.gsub /\.log$/, '' }
64
+ path.entries.select { |v| not_self_and_parent v }.map{ |v| v.to_s.gsub(/\.log$/, '') }
65
65
  end
66
66
 
67
67
  def parse_log_id(log_id)
@@ -86,17 +86,29 @@ module OLogger
86
86
 
87
87
  def enable(&block)
88
88
  buffer.flush
89
- Thread.current[:ologger_raiser] = true
90
89
  begin
91
90
  yield
92
91
  rescue StandardError => e
93
- e.obj.ologger "Exception:", :objs => [e, e.backtrace]
94
- on_raise.call(e) if on_raise && on_raise.is_a?(Proc)
92
+ Thread.current[:ologger_raiser].ologger "Exception:", :objs => [e, e.backtrace] if Thread.current[:ologger_raiser]
93
+ if on_raise && on_raise.is_a?(Proc)
94
+ on_raise.call(e)
95
+ else
96
+ raise e
97
+ end
95
98
  ensure
96
- Thread.current[:ologger_raiser] = false
99
+ Thread.current[:ologger_raiser] = nil
97
100
  buffer.write
98
- end
101
+ end
99
102
  end
103
+
104
+ #def exception_message(e)
105
+ #params = { :objs => [e, e.backtrace] }
106
+ #if Thread.current[:ologger_raiser]
107
+ #params[:ologger_module] = Thread.current[:ologger_raiser].ologger_module
108
+ #params[:ologger_id] = Thread.current[:ologger_raiser].ologger_id
109
+ #end
110
+ #params
111
+ #end
100
112
 
101
113
  def filter(controller, &block)
102
114
  enable(&block)
data/ologger.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ologger}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Rudenko"]
12
- s.date = %q{2009-09-14}
12
+ s.date = %q{2009-09-20}
13
13
  s.default_executable = %q{ologger}
14
14
  s.description = %q{}
15
15
  s.email = %q{ceo@prepor.ru}
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
27
27
  "lib/ologger/parser.rb",
28
28
  "lib/ologger/raise_patch.rb",
29
29
  "lib/ologger/tags",
30
- "memory",
31
30
  "ologger.gemspec",
32
31
  "test/test.rb",
33
32
  "test/test_helper.rb"
data/test/test.rb CHANGED
@@ -42,11 +42,20 @@ describe OLogger do
42
42
  @obj.ologger 'hi!', @ar_obj
43
43
  end
44
44
 
45
- it "should raise exceptions" do
46
- mock(OLogger.buffer).add(hash_including(:message => "Exception:"))
45
+ #it "should raise exceptions" do
46
+ #mock(OLogger.buffer).add(hash_including(:message => "Exception:"))
47
+ #OLogger.enable do
48
+ #Foo.find(10)
49
+ #end
50
+ #end
51
+
52
+ it "should raise exceptions on right level" do
53
+ OLogger.on_raise = lambda { |e| 0 }
54
+ mock(OLogger.buffer).add(hash_including(:message => "Exception:", :logger_module => 'test', :logger_id => 'test'))
47
55
  OLogger.enable do
48
- Foo.find(10)
56
+ A.new.foo
49
57
  end
58
+
50
59
  end
51
60
 
52
61
  describe "writing" do
data/test/test_helper.rb CHANGED
@@ -21,4 +21,24 @@ Artester.def :game_logger do
21
21
  t.string :bar
22
22
  end
23
23
  end
24
- end
24
+ end
25
+
26
+ class A
27
+ def foo
28
+ B.new.bar
29
+ end
30
+
31
+ def ologger_module
32
+ 'test'
33
+ end
34
+ def ologger_id
35
+ 'test'
36
+ end
37
+ include OLogger::Raiser
38
+ end
39
+
40
+ class B
41
+ def bar
42
+ raise 'hehe'
43
+ end
44
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prepor-ologger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Rudenko
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-14 00:00:00 -07:00
12
+ date: 2009-09-20 00:00:00 -07:00
13
13
  default_executable: ologger
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -53,12 +53,12 @@ files:
53
53
  - lib/ologger/parser.rb
54
54
  - lib/ologger/raise_patch.rb
55
55
  - lib/ologger/tags
56
- - memory
57
56
  - ologger.gemspec
58
57
  - test/test.rb
59
58
  - test/test_helper.rb
60
59
  has_rdoc: false
61
60
  homepage: http://github.com/prepor/olog
61
+ licenses:
62
62
  post_install_message:
63
63
  rdoc_options:
64
64
  - --charset=UTF-8
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  requirements: []
80
80
 
81
81
  rubyforge_project:
82
- rubygems_version: 1.2.0
82
+ rubygems_version: 1.3.5
83
83
  signing_key:
84
84
  specification_version: 3
85
85
  summary: Object separated logs
data/memory DELETED
Binary file