ramon 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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
-