dedicated_logger 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.ruby-version +1 -0
- data/README.md +8 -12
- data/dedicated_logger.gemspec +2 -1
- data/lib/dedicated_logger/base.rb +30 -0
- data/lib/dedicated_logger.rb +17 -18
- data/test/test_base.rb +14 -0
- data/test/test_dedicated_logger.rb +36 -5
- metadata +25 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb97931c134fb06563ce55d12adc128231daea07
|
4
|
+
data.tar.gz: d2660f9c14f370d1585a7d216ff4df6d68ae9749
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 338b104449fd44e1971fb1e7da758fc63b5073c6da3d8fe3374d185f8d7869c84e7eecfc49f7a6adba838c2eeca85abf3b6668d9915cbdcf9b6247bbd3e66175
|
7
|
+
data.tar.gz: ad48f6fc7c59c7543dafcc3a0645d12a318bb7cdb6e1f433b7e9b03a1bc79093d0468cb364d7c686c142b2338d6edd4464f3135f5c214a6b1db088eb49b082da
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.3
|
data/README.md
CHANGED
@@ -6,7 +6,11 @@ Used for any ruby class, perhaps running as background tasks, in desperate need
|
|
6
6
|
Installation
|
7
7
|
-----------
|
8
8
|
|
9
|
-
|
9
|
+
gem install dedicated_logger
|
10
|
+
|
11
|
+
or by including this line in your Gemfile
|
12
|
+
|
13
|
+
gem "dedicated_logger", :git => "git://github.com/tskorupa/dedicated_logger.git"
|
10
14
|
|
11
15
|
Usage
|
12
16
|
-----
|
@@ -14,6 +18,7 @@ Usage
|
|
14
18
|
require 'dedicated_logger'
|
15
19
|
|
16
20
|
class Foo
|
21
|
+
include DedicatedLogger
|
17
22
|
|
18
23
|
def self.bar
|
19
24
|
logger.info "info from class method"
|
@@ -29,19 +34,10 @@ Usage
|
|
29
34
|
logger.fatal "fatal"
|
30
35
|
end
|
31
36
|
|
32
|
-
private
|
33
|
-
|
34
|
-
def logger
|
35
|
-
self.class.logger
|
36
|
-
end
|
37
|
-
|
38
|
-
def self.logger
|
39
|
-
@logger ||= DedicatedLogger.new(self, "test")
|
40
|
-
end
|
41
37
|
end
|
42
38
|
|
43
39
|
TODO
|
44
40
|
================
|
45
41
|
|
46
|
-
*
|
47
|
-
*
|
42
|
+
* write docs on how to use acts_as_* module
|
43
|
+
* show how to specify a custom logger file and/or filepath
|
data/dedicated_logger.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'dedicated_logger'
|
5
|
-
s.version = '0.0.
|
5
|
+
s.version = '0.0.4'
|
6
6
|
s.description = %q{Output formatter for the ruby Logger class}
|
7
7
|
s.summary = %q{Standardize the logged output for background tasks and store it in a dedicated file}
|
8
8
|
s.authors = ['Tomasz Skorupa']
|
@@ -11,4 +11,5 @@ Gem::Specification.new do |s|
|
|
11
11
|
|
12
12
|
s.required_ruby_version = '>= 1.9.3'
|
13
13
|
s.add_development_dependency 'rake'
|
14
|
+
s.add_dependency 'activesupport'
|
14
15
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'logger'
|
2
|
+
require 'fileutils'
|
3
|
+
|
4
|
+
module DedicatedLogger
|
5
|
+
class Base < Logger
|
6
|
+
|
7
|
+
def initialize logger_name, filepath, options={}
|
8
|
+
@logger_name = logger_name
|
9
|
+
filename = File.basename filepath
|
10
|
+
dir_path = File.dirname(File.absolute_path(filepath))
|
11
|
+
|
12
|
+
FileUtils.mkdir_p(dir_path) unless File.exists? dir_path
|
13
|
+
|
14
|
+
super File.join(dir_path, filename)
|
15
|
+
end
|
16
|
+
|
17
|
+
def format_message severity, timestamp, progname, msg
|
18
|
+
msg = "#{timestamp.strftime("%Y-%m-%d %H:%M:%S")} #{@logger_name} [#{$$}] #{severity}: #{msg}\n"
|
19
|
+
|
20
|
+
if %w(WARN ERROR FATAL).include?(severity.to_s)
|
21
|
+
STDERR.puts(msg)
|
22
|
+
else
|
23
|
+
STDOUT.puts(msg)
|
24
|
+
end
|
25
|
+
|
26
|
+
msg
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
data/lib/dedicated_logger.rb
CHANGED
@@ -1,27 +1,26 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require 'active_support/concern'
|
2
|
+
require 'active_support/inflector'
|
3
|
+
require 'dedicated_logger/base'
|
3
4
|
|
4
|
-
|
5
|
+
module DedicatedLogger
|
6
|
+
extend ActiveSupport::Concern
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
FileUtils.mkdir_p(log_dir) unless File.exists? log_dir
|
11
|
-
|
12
|
-
super File.join(log_dir, "#{filename}.log")
|
8
|
+
included do
|
9
|
+
def logger
|
10
|
+
self.class.logger
|
11
|
+
end
|
13
12
|
end
|
14
13
|
|
15
|
-
|
16
|
-
|
14
|
+
module ClassMethods
|
15
|
+
def acts_as_dedicated_logger options={}
|
16
|
+
name = options[:name] || self.name.to_s.underscore
|
17
|
+
filepath = options[:filepath] || File.join("log", "#{name}.log")
|
18
|
+
@logger = DedicatedLogger::Base.new(name, filepath)
|
19
|
+
end
|
17
20
|
|
18
|
-
|
19
|
-
|
20
|
-
else
|
21
|
-
STDOUT.puts(msg)
|
21
|
+
def logger
|
22
|
+
@logger || acts_as_dedicated_logger
|
22
23
|
end
|
23
24
|
|
24
|
-
msg
|
25
25
|
end
|
26
|
-
|
27
26
|
end
|
data/test/test_base.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'dedicated_logger/base'
|
3
|
+
|
4
|
+
class BaseTest < Minitest::Test
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@logger = DedicatedLogger::Base.new("TEST", "test/log/test.log")
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_instantiation
|
11
|
+
assert_kind_of DedicatedLogger::Base, @logger
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -1,14 +1,45 @@
|
|
1
1
|
require 'minitest/autorun'
|
2
2
|
require 'dedicated_logger'
|
3
3
|
|
4
|
-
class DedicatedLoggerTest <
|
4
|
+
class DedicatedLoggerTest < Minitest::Test
|
5
5
|
|
6
|
-
def
|
7
|
-
|
6
|
+
def test_dummy_instance_does_not_define_logger_method
|
7
|
+
assert_raises(NoMethodError) do
|
8
|
+
dummy_class.new.logger
|
9
|
+
end
|
8
10
|
end
|
9
11
|
|
10
|
-
def
|
11
|
-
|
12
|
+
def test_dummy_class_does_not_define_logger_method
|
13
|
+
assert_raises(NoMethodError) do
|
14
|
+
dummy_class.logger
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_dummy_instance_with_module_defines_logger_method
|
19
|
+
assert_kind_of DedicatedLogger::Base, dummy_class_with_module.new.logger
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_dummy_class_with_module_defines_logger_method
|
23
|
+
assert_kind_of DedicatedLogger::Base, dummy_class_with_module.logger
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def dummy_class
|
29
|
+
Class.new do
|
30
|
+
def self.name
|
31
|
+
"Dummy"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def dummy_class_with_module
|
37
|
+
Class.new do
|
38
|
+
include DedicatedLogger
|
39
|
+
def self.name
|
40
|
+
"DummyWithModule"
|
41
|
+
end
|
42
|
+
end
|
12
43
|
end
|
13
44
|
|
14
45
|
end
|
metadata
CHANGED
@@ -1,27 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dedicated_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomasz Skorupa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '0'
|
27
41
|
description: Output formatter for the ruby Logger class
|
@@ -30,11 +44,15 @@ executables: []
|
|
30
44
|
extensions: []
|
31
45
|
extra_rdoc_files: []
|
32
46
|
files:
|
47
|
+
- ".gitignore"
|
48
|
+
- ".ruby-version"
|
33
49
|
- LICENSE
|
34
50
|
- README.md
|
35
51
|
- Rakefile
|
36
52
|
- dedicated_logger.gemspec
|
37
53
|
- lib/dedicated_logger.rb
|
54
|
+
- lib/dedicated_logger/base.rb
|
55
|
+
- test/test_base.rb
|
38
56
|
- test/test_dedicated_logger.rb
|
39
57
|
homepage:
|
40
58
|
licenses: []
|
@@ -45,17 +63,17 @@ require_paths:
|
|
45
63
|
- lib
|
46
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|
47
65
|
requirements:
|
48
|
-
- -
|
66
|
+
- - ">="
|
49
67
|
- !ruby/object:Gem::Version
|
50
68
|
version: 1.9.3
|
51
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
70
|
requirements:
|
53
|
-
- -
|
71
|
+
- - ">="
|
54
72
|
- !ruby/object:Gem::Version
|
55
73
|
version: '0'
|
56
74
|
requirements: []
|
57
75
|
rubyforge_project:
|
58
|
-
rubygems_version: 2.
|
76
|
+
rubygems_version: 2.2.2
|
59
77
|
signing_key:
|
60
78
|
specification_version: 4
|
61
79
|
summary: Standardize the logged output for background tasks and store it in a dedicated
|