ramon 0.3.1 → 0.3.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/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+ log/*
5
6
  gems
data/lib/ramon.rb CHANGED
@@ -3,7 +3,7 @@ def require_local(file)
3
3
  end
4
4
 
5
5
  require_local "version"
6
- require_local "logger"
6
+ require_local "log_factory"
7
7
  require_local "remote"
8
8
  require_local "catcher"
9
9
  require_local "exception_data"
@@ -14,6 +14,7 @@ require_local 'integration/rails' if defined?(Rails)
14
14
  require_local 'railtie' if defined?(Rails)
15
15
 
16
16
  module Ramon
17
+
17
18
  def self.log(message, level=nil)
18
19
  log_hash = Log.log(message, level)
19
20
  Remote.post('log', log_hash)
@@ -22,5 +23,6 @@ module Ramon
22
23
  def self.post(type, data)
23
24
  Remote.post(type, data)
24
25
  end
26
+
25
27
  end
26
28
 
data/lib/ramon/config.rb CHANGED
@@ -30,6 +30,10 @@ class ConfigurationException < StandardError; end
30
30
  end
31
31
  end
32
32
 
33
+ def application_root
34
+ (defined?(Rails) && Rails.respond_to?(:root)) ? Rails.root : Dir.pwd
35
+ end
36
+
33
37
  def port
34
38
  @port ||= DEFAULTS[:port]
35
39
  end
@@ -0,0 +1,46 @@
1
+ require 'logger'
2
+ require 'date'
3
+
4
+ module Ramon
5
+ class Log
6
+
7
+ def self.log(message, level=nil)
8
+ level ||= 'notset'
9
+ log = {"message" => message, "level" => level}
10
+
11
+ log
12
+ end
13
+
14
+ end # class end
15
+
16
+ # Used internally
17
+ class LogFactory
18
+
19
+ def self.log
20
+ @logger ||= define_internal_logger
21
+ end
22
+
23
+ private
24
+ def self.define_internal_logger
25
+ log_dir = File.join(Config.application_root, 'log')
26
+ Dir.mkdir(log_dir) unless File.directory?(log_dir)
27
+ log_path = File.join(log_dir, "/ramon.log")
28
+
29
+ log = Logger.new(log_path)
30
+ log.level = Logger::INFO
31
+
32
+ log.formatter = proc do |severity, datetime, progname, msg|
33
+ "#{datetime}: #{msg} -- #{severity}\n"
34
+ end
35
+
36
+ log
37
+ end
38
+
39
+ end # class end
40
+
41
+ end # module end
42
+
43
+
44
+
45
+
46
+
data/lib/ramon/remote.rb CHANGED
@@ -13,11 +13,23 @@ class Remote
13
13
  @url = '/api/exception'
14
14
  end
15
15
 
16
- req = Net::HTTP::Post.new(@url, initheader = {'Content-Type' =>'application/json'})
17
- #req.body = Zlib::Deflate.deflate(data.to_json, Zlib::BEST_SPEED)
18
- req.body = data.to_json
19
- response = Net::HTTP.new(Config::host, Config::port).start {|http| http.request(req) }
20
- #puts "Response #{response.code} #{response.message}: #{response.body}"
16
+ request = Net::HTTP::Post.new(@url, initheader = {'Content-Type' =>'application/json'})
17
+ request.body = data.to_json
18
+
19
+ begin
20
+ response = Net::HTTP.new(Config::host, Config::port).start {|http| http.request(request) }
21
+ case response
22
+ when Net::HTTPSuccess
23
+ LogFactory.log.info( "#{@url} - #{response.message}")
24
+ return response
25
+ else
26
+ LogFactory.log.error("#{@url} - #{response.code} - #{response.message}")
27
+ end
28
+ rescue Exception => e
29
+ LogFactory.log.error(e)
30
+ end
31
+
21
32
  end
22
33
  end # class end
23
34
  end # module end
35
+
data/lib/ramon/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ramon
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ramon
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 1
10
- version: 0.3.1
9
+ - 2
10
+ version: 0.3.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - martinrusev
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-07 00:00:00 +00:00
18
+ date: 2011-12-09 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -52,7 +52,7 @@ files:
52
52
  - lib/ramon/enviroment_data.rb
53
53
  - lib/ramon/exception_data.rb
54
54
  - lib/ramon/integration/rails.rb
55
- - lib/ramon/logger.rb
55
+ - lib/ramon/log_factory.rb
56
56
  - lib/ramon/railtie.rb
57
57
  - lib/ramon/remote.rb
58
58
  - lib/ramon/version.rb
data/lib/ramon/logger.rb DELETED
@@ -1,13 +0,0 @@
1
- module Ramon
2
- class Log
3
- def self.log(message, level=nil)
4
- level ||= 'notset'
5
- log = {"message" => message, "level" => level}
6
-
7
- log
8
- end
9
- end # class end
10
- end # module end
11
-
12
-
13
-