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 +18 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +10 -0
- data/README.md +16 -0
- data/Rakefile +2 -0
- data/kona-logger.gemspec +22 -0
- data/lib/kona-logger.rb +1 -0
- data/lib/kona-logger/logger.rb +71 -0
- data/lib/kona-logger/version.rb +4 -0
- metadata +70 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
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
data/kona-logger.gemspec
ADDED
@@ -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
|
+
|
data/lib/kona-logger.rb
ADDED
@@ -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
|
+
|
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: []
|