kona-logger 0.0.5

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 ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ coverage
6
+ InstalledFiles
7
+ lib/bundler/man
8
+ pkg
9
+ rdoc
10
+ spec/reports
11
+ test/tmp
12
+ test/version_tmp
13
+ tmp
14
+
15
+ # YARD artifacts
16
+ .yardoc
17
+ _yardoc
18
+ doc/
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'colorize'
data/Gemfile.lock ADDED
@@ -0,0 +1,10 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ colorize (0.5.8)
5
+
6
+ PLATFORMS
7
+ ruby
8
+
9
+ DEPENDENCIES
10
+ colorize
data/README.md ADDED
@@ -0,0 +1,16 @@
1
+ kona-logger gem
2
+
3
+ Description
4
+ ------------
5
+ This gem implements a simple logger.
6
+ params:
7
+ logfile - log file or STDOUT. default: STDOUT
8
+ loglevel - debug, info, error, fatal, warn. default: info
9
+
10
+ logger can be disabled thru accessor called 'disabled'
11
+
12
+ Example
13
+ ----------
14
+ `logger = KonaLogger::Logger.new(STDOUT, 'debug')`
15
+
16
+ `logger.debug(msg)`
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "kona-logger/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "kona-logger"
7
+ s.version = KonaLogger::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Hillel Kahana"]
10
+ s.email = ["hillel@kontera.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{kona-logger files}
13
+ s.description = %q{A simple logger}
14
+
15
+ s.rubyforge_project = "kona-logger"
16
+
17
+ #s.files = `git ls-files`.split("\n")
18
+ s.files = `git ls-files`.split("\n")
19
+ s.require_paths = ["lib"]
20
+ s.add_dependency('colorize')
21
+ end
22
+
@@ -0,0 +1 @@
1
+ require_relative 'kona-logger/logger'
@@ -0,0 +1,71 @@
1
+ require 'colorize'
2
+ require 'logger'
3
+
4
+ module KonaLogger
5
+
6
+ class Logger
7
+
8
+ attr_accessor :logger, :disabled
9
+
10
+ @@severties = Hash.new{::Logger::INFO}.merge!({'debug' => ::Logger::DEBUG, "info" => ::Logger::INFO, "warn" => ::Logger::WARN, "error" => ::Logger::ERROR, "fatal" => ::Logger::FATAL})
11
+
12
+ def initialize(logfile, severity)
13
+ self.logger = ::Logger.new(logfile.nil? ? STDOUT : logfile)
14
+ self.logger.level = severity.nil? ? @@severties['info'] : @@severties[severity]
15
+ self.logger.formatter = proc { |s, dt, pr, msg|
16
+ def get_callee(msg, caller)
17
+ msg.is_a?(String) ? get_caller_file(caller) : msg[:callee]
18
+ end
19
+
20
+ def get_msg(msg)
21
+ msg.is_a?(String) ? msg : msg[:msg]
22
+ end
23
+
24
+ "[#{dt.strftime("%Y-%m-%dT%T.%6N").magenta}][#{color_severity(s)}][#{get_callee(msg, caller)}] #{get_msg(msg)}"
25
+ }
26
+ end
27
+
28
+ def level= l
29
+ logger.level=l if logger.respond_to? :level
30
+ end
31
+
32
+ def progress message
33
+ logger.info(message) if logger.respond_to? :info
34
+ end
35
+
36
+ def fatal msg
37
+ logger.fatal([msg,"\n"].join) if logger.respond_to? :fatal
38
+ exit 1
39
+ end
40
+
41
+ def get_caller_file(caller)
42
+ (caller[0] =~ /logger\.rb/ ? caller[1] : caller[0]).to_s.gsub(/:in.*/,'').split('/')[-1]
43
+ end
44
+
45
+ def method_missing(m,*args,&block)
46
+ msg = {:msg => "#{args.first.to_s}\n", :callee => get_caller_file(caller) }
47
+ logger.send(m, msg) if logger.respond_to?(m) && !disabled
48
+ end
49
+
50
+ def self.method_missing(m,*args,&block)
51
+ instance.send(m,*args,&block)
52
+ end
53
+
54
+ private
55
+
56
+ def color_severity(s)
57
+ case s
58
+ when 'INFO' then s.blue
59
+ when 'DEBUG' then s.green
60
+ when 'FATAL' then s.red
61
+ when 'ERROR'; s.light_red
62
+ when 'WARN'; s.yellow
63
+ else s.blue
64
+ end
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+
@@ -0,0 +1,4 @@
1
+ module KonaLogger
2
+ VERSION = "0.0.5"
3
+ end
4
+
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kona-logger
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Hillel Kahana
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-01-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: colorize
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ description: A simple logger
31
+ email:
32
+ - hillel@kontera.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - .gitignore
38
+ - Gemfile
39
+ - Gemfile.lock
40
+ - README.md
41
+ - Rakefile
42
+ - kona-logger.gemspec
43
+ - lib/kona-logger.rb
44
+ - lib/kona-logger/logger.rb
45
+ - lib/kona-logger/version.rb
46
+ homepage: ''
47
+ licenses: []
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubyforge_project: kona-logger
66
+ rubygems_version: 1.8.23
67
+ signing_key:
68
+ specification_version: 3
69
+ summary: kona-logger files
70
+ test_files: []