tee_logger 2.6.0 → 2.7.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db9ff72237e7333f61ca1fe18042003209fb483b
4
- data.tar.gz: 6ab586d12562c36af63939d276449e2f229cc3ab
3
+ metadata.gz: bbdb5ccee15e5eed47f3e89efbaac90990ce39f2
4
+ data.tar.gz: 152388538388e14fa2acc29cc3e0daab42a00419
5
5
  SHA512:
6
- metadata.gz: a7b0426ad4f79239ca3cf1fddfee097b3470f16555e792cbe072062eb33c35c7c632d0064964aea9cfbade8c1b160bd4ad92aea28bfeb52be93667c73331a711
7
- data.tar.gz: 4e45ef83df1923a06ef5b9461d1cc835031b63ceac080c76f092f52def1cfb8106fcac5a472ef02614f4c7d3f23419372daef575efc528ef76f0e62a886182de
6
+ metadata.gz: bd286237550da02a4a6db31bfdc2f9870f9397faa894abe9100a218ae542722430dae565c3cee70fa2f5a807f94d11d9ec1f77a12b9bfeabe5bce4381c68d1eb
7
+ data.tar.gz: 2da99911ebf7d6f02143df8d12b4160f9877a9572f9fd2b70fb5f7b7937e2e27d99f5383bc7e4168f0d436c0616bdcac8b22b959c15639fa33657459b604fbce
@@ -5,3 +5,6 @@ rvm:
5
5
  - 2.1.5
6
6
  - 2.0.0
7
7
  before_install: gem install bundler -v 1.10.4
8
+ notifications:
9
+ slack:
10
+ secure: zCs6tIIMRaugSasz857bnfcHywMZvz2nztcTJdkvi25kZFysakVgVJ+CNBRZSHjShsnBD1H1i3ywoECKPHUiLlUDQU4ncZQoSS0qM5CcmVlE0JOHzcvY2POTadZWfVn2XvRcCcoI2k7Oy9cS+xFmbs3PP2TqbVfPStB+l9jD+QejWinpLJR05PGi8M2iqZKjxAwJ9TBoLvmHt7UtXMq6edG/Q+SVOUQMEEkLCaWzSvNQYnDiTk1ewkXF0kG5jtVx/OKjQC62ioQIBz6+I6aMfOil2MCpb8u37asXQeML/rMPfBxVuwvBSwGKpRBrJSUG5XeoWg8bbri0WUOrOGCg3LVRtdiHyUNcAYObaB69+YqFOt/F05Dgg6+9Rs53mgZM2zuvsFp2qeSD27wXCy0ZJhFyMv5YJA5paJZjOAH0ki9FWeZjC4XMasntvO7/83rCEFcqGusMckLKcKE/RdEYurzqLruF2W4FGSAvSTbARjQbtYMxmuh1xJrH4KCdCYDvoxYb4xJrGo+q77j+wnpzGBwf8nak2VcGgN6wXadeosNR31WGW+HBwv8LxTJutlXzDjBTyK2ZcaaIZASbF3liEH294ycdf9YcGlxZYxuauPsg0EXa8C0NHXkfL9Zb1CftEgULXvtBL/qNDr/cyhHWbSYZcJw5DfQYt6inBKudmEU=
@@ -1,50 +1,53 @@
1
- # v2.6.0
2
- - disabling option add to logging_methods
3
-
4
- # v2.5.0
5
- - level, progname and formatter were changed to instance variable
6
- - refactoring: disabling and enabling
7
- - rm ./lib/tee_logger/constants.rb. Constants move to ./lib/tee_logger.rb
8
-
9
- # v2.4.1
10
- - update README.md
11
- - and YARD comment
12
-
13
- # v2.4.0
14
- - TeeLogger#disable is allow block given
15
-
16
- # v2.3.1
17
- - refactoring TeeLogger#disable
18
-
19
- # v2.3.0
20
- - remove TeeLogger.attr_reader
21
- - and rename instance variable: @logger => @logfile
22
- - implementation `#level` and `level=`
23
- - implementation `#formatter` and `formatter=`
24
-
25
- # v2.2.0
26
- - disabling and enabling
27
-
28
- # v2.1.1
29
- - refactoring of test case
30
- - Introduced capture_stdout
31
- - Introduced FakeFS
32
- - Change logdev of Console for Logger from STDOUT to $ stdout
33
-
34
- # v2.1.0
35
- - Integrate TeeLogger::Base class to TeeLogger::TeeLogger class
36
-
37
- # v2.0.2
38
- - bugfix
39
-
40
- # v2.0.1
41
- - bugfix
42
-
43
- # v2.0.0
44
- - Change to Class from Module
45
-
46
- # v1.1.0
47
- - bugfix
48
-
49
- # v1.0.0
50
- - first
1
+ # v2.7.0
2
+ - add datetime_format, datetime_format=
3
+
4
+ # v2.6.0
5
+ - disabling option add to logging_methods
6
+
7
+ # v2.5.0
8
+ - level, progname and formatter were changed to instance variable
9
+ - refactoring: disabling and enabling
10
+ - rm ./lib/tee_logger/constants.rb. Constants move to ./lib/tee_logger.rb
11
+
12
+ # v2.4.1
13
+ - update README.md
14
+ - and YARD comment
15
+
16
+ # v2.4.0
17
+ - TeeLogger#disable is allow block given
18
+
19
+ # v2.3.1
20
+ - refactoring TeeLogger#disable
21
+
22
+ # v2.3.0
23
+ - remove TeeLogger.attr_reader
24
+ - and rename instance variable: @logger => @logfile
25
+ - implementation `#level` and `level=`
26
+ - implementation `#formatter` and `formatter=`
27
+
28
+ # v2.2.0
29
+ - disabling and enabling
30
+
31
+ # v2.1.1
32
+ - refactoring of test case
33
+ - Introduced capture_stdout
34
+ - Introduced FakeFS
35
+ - Change logdev of Console for Logger from STDOUT to $ stdout
36
+
37
+ # v2.1.0
38
+ - Integrate TeeLogger::Base class to TeeLogger::TeeLogger class
39
+
40
+ # v2.0.2
41
+ - bugfix
42
+
43
+ # v2.0.1
44
+ - bugfix
45
+
46
+ # v2.0.0
47
+ - Change to Class from Module
48
+
49
+ # v1.1.0
50
+ - bugfix
51
+
52
+ # v1.0.0
53
+ - first
data/README.md CHANGED
@@ -57,6 +57,10 @@ tl.debug(:progname) { 'hello world' }
57
57
  tl.progname = 'App'
58
58
  tl.debug 'hello tee_logger'
59
59
 
60
+ # disable only when specified
61
+ tl.info 'this message is logfile only', :console
62
+ tl.info 'this message is console only', :logfile
63
+
60
64
  # disable console output
61
65
  tl.disable(:console)
62
66
  tl.info 'this message is logfile only'
@@ -81,30 +85,44 @@ tl.info 'this message is logfile and console'
81
85
 
82
86
  # and others like Logger's
83
87
  tl.debug? # => true
84
- tl.info?
85
- tl.warn?
86
- tl.error?
87
- tl.fatal?
88
+ tl.info? # => true
89
+ tl.warn? # => true
90
+ tl.error? # => true
91
+ tl.fatal? # => true
88
92
 
89
93
  tl.level # => 0
90
94
  tl.level = Logger::INFO
91
95
  tl.debug 'this message is not logging'
92
96
 
93
97
  tl.formatter # => nil or Proc
94
- tl.formatter = proc {|severity, datetime, progname, message| "#{severity}:#{message}" }
98
+ tl.formatter = proc { |severity, datetime, progname, message| "#{severity}:#{message}" }
99
+
100
+ tl.datetime_format # => nil or Proc
101
+ tl.datetime_format = '%Y%m%d %H%M%S '
95
102
  ```
96
103
 
97
104
 
98
105
  ## Development
99
106
 
100
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
107
+ After checking out the repo, run `bundle install` to install dependencies.
108
+ Then, run `rake rspec` to run the tests.
109
+ You can also run `budle exec pry -r ./lib/tee_logger` for an interactive prompt
110
+ that will allow you to experiment.
101
111
 
102
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
112
+ To install this gem onto your local machine, run `bundle exec rake install`.
113
+ To release a new version, update the version number in `version.rb`,
114
+ and then run `bundle exec rake release`,
115
+ which will create a git tag for the version,
116
+ push git commits and tags,
117
+ and push the `.gem` file to [rubygems.org](https://rubygems.org).
103
118
 
104
119
 
105
120
  ## Contributing
106
121
 
107
- Bug reports and pull requests are welcome on GitHub at https://github.com/k-ta-yamada/tee_logger. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
122
+ Bug reports and pull requests are welcome on GitHub at https://github.com/k-ta-yamada/tee_logger.
123
+ This project is intended to be a safe,
124
+ welcoming space for collaboration,
125
+ and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
108
126
 
109
127
 
110
128
  ## License
data/Rakefile CHANGED
@@ -1,6 +1,4 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
-
4
3
  RSpec::Core::RakeTask.new(:spec)
5
-
6
4
  task default: :spec
@@ -1,120 +1,127 @@
1
- require 'tee_logger/version'
2
- require 'logger'
3
-
4
- # namespace
5
- module TeeLogger
6
- # no param of filename, set this filename
7
- DEFAULT_FILE = './tee_logger.log'
8
- # Implements targets
9
- LOGGING_METHODS = [:debug, :info, :warn, :error, :fatal].freeze
10
-
11
- # shortcut for TeeLogger::TeeLogger.new
12
- # @see TeeLogger
13
- def self.new(logdev = DEFAULT_FILE, shift_age = 0, shift_size = 1_048_576)
14
- TeeLogger.new(logdev, shift_age, shift_size)
15
- end
16
-
17
- # main
18
- # @see http://www.rubydoc.info/stdlib/logger/Logger Logger
19
- class TeeLogger
20
- class << self
21
- # @!macro [attach] logging_methods
22
- # @!method $1(progname = nil, disabling_target = nil, &block)
23
- # logging $1 level message.
24
- # @param progname see also Logger
25
- # @param disabling_target (Symbol) valid values => [:console, :logfile]
26
- # @param &block see also Logger
27
- # @return true
28
- # @see Logger
29
- def define_logging_methods(name)
30
- define_method(name) do |progname = nil, disabling_target = nil, &block|
31
- if disabling_target
32
- disable(disabling_target) { logging(name, progname, &block) }
33
- else
34
- logging(name, progname, &block)
35
- end
36
- end
37
- end
38
- private :define_logging_methods
39
-
40
- # @!macro [attach] loglevel_check_methods
41
- # @!method $1(name)
42
- # @return [Boolean]
43
- def define_loglevel_check_methods(name)
44
- define_method(name) do
45
- @console.send(name)
46
- @logfile.send(name)
47
- end
48
- end
49
- private :define_loglevel_check_methods
50
- end
51
-
52
- attr_reader :level, :progname, :formatter
53
-
54
- # @param logdev [String]
55
- # @param shift_age [Integer]
56
- # @param shift_size [Integer]
57
- # @see Logger#initialize
58
- def initialize(logdev = DEFAULT_FILE, shift_age = 0, shift_size = 1_048_576)
59
- @console = Logger.new($stdout)
60
- @logfile = Logger.new(logdev, shift_age, shift_size)
61
- end
62
-
63
- define_logging_methods :debug
64
- define_logging_methods :info
65
- define_logging_methods :warn
66
- define_logging_methods :error
67
- define_logging_methods :fatal
68
-
69
- define_loglevel_check_methods :debug?
70
- define_loglevel_check_methods :info?
71
- define_loglevel_check_methods :warn?
72
- define_loglevel_check_methods :error?
73
- define_loglevel_check_methods :fatal?
74
-
75
- # @param level [Integer]
76
- def level=(level)
77
- @console.level = @logfile.level = @level = level
78
- end
79
- alias_method :sev_threshold, :level
80
- alias_method :sev_threshold=, :level=
81
-
82
- # @param name [String, Symbol]
83
- def progname=(name = nil)
84
- @console.progname = @logfile.progname = @progname = name
85
- end
86
-
87
- # @param formatter
88
- def formatter=(formatter)
89
- @console.formatter = @logfile.formatter = @formatter = formatter
90
- end
91
-
92
- # @param logdev_name [String, Symbol]
93
- # @yield before logdev_name disable, after logdev_name enable.
94
- def disable(logdev_name)
95
- if block_given?
96
- disable(logdev_name)
97
- yield
98
- enable(logdev_name)
99
- else
100
- logdev_instance(logdev_name).formatter = proc { |_, _, _, _| '' }
101
- end
102
- end
103
-
104
- # @param logdev_name [String, Symbol]
105
- def enable(logdev_name)
106
- logdev_instance(logdev_name).formatter = @formatter
107
- end
108
-
109
- private
110
-
111
- def logging(name, progname, &block)
112
- @console.send(name, progname, &block)
113
- @logfile.send(name, progname, &block)
114
- end
115
-
116
- def logdev_instance(logdev_name)
117
- instance_variable_get("@#{logdev_name}")
118
- end
119
- end
120
- end
1
+ require 'tee_logger/version'
2
+ require 'logger'
3
+
4
+ # namespace
5
+ module TeeLogger
6
+ # no param of filename, set this filename
7
+ DEFAULT_FILE = './tee_logger.log'
8
+ # Implements targets
9
+ LOGGING_METHODS = [:debug, :info, :warn, :error, :fatal].freeze
10
+
11
+ # shortcut for TeeLogger::TeeLogger.new
12
+ # @see TeeLogger
13
+ def self.new(logdev = DEFAULT_FILE, shift_age = 0, shift_size = 1_048_576)
14
+ TeeLogger.new(logdev, shift_age, shift_size)
15
+ end
16
+
17
+ # main
18
+ # @see http://www.rubydoc.info/stdlib/logger/Logger Logger
19
+ class TeeLogger
20
+ class << self
21
+ # @!macro [attach] logging_methods
22
+ # @!method $1(progname = nil, disabling_target = nil, &block)
23
+ # logging $1 level message.
24
+ # @param progname see also Logger
25
+ # @param disabling_target (Symbol) valid values => [:console, :logfile]
26
+ # @param &block see also Logger
27
+ # @return true
28
+ # @see Logger
29
+ def define_logging_methods(name)
30
+ define_method(name) do |progname = nil, disabling_target = nil, &block|
31
+ if disabling_target
32
+ disable(disabling_target) { logging(name, progname, &block) }
33
+ else
34
+ logging(name, progname, &block)
35
+ end
36
+ end
37
+ end
38
+ private :define_logging_methods
39
+
40
+ # @!macro [attach] loglevel_check_methods
41
+ # @!method $1(name)
42
+ # @return [Boolean]
43
+ def define_loglevel_check_methods(name)
44
+ define_method(name) do
45
+ @console.send(name)
46
+ @logfile.send(name)
47
+ end
48
+ end
49
+ private :define_loglevel_check_methods
50
+ end
51
+
52
+ attr_reader :level, :progname, :formatter, :datetime_format
53
+
54
+ # @param logdev [String]
55
+ # @param shift_age [Integer]
56
+ # @param shift_size [Integer]
57
+ # @see Logger#initialize
58
+ def initialize(logdev = DEFAULT_FILE, shift_age = 0, shift_size = 1_048_576)
59
+ @console = Logger.new($stdout)
60
+ @logfile = Logger.new(logdev, shift_age, shift_size)
61
+ end
62
+
63
+ define_logging_methods :debug
64
+ define_logging_methods :info
65
+ define_logging_methods :warn
66
+ define_logging_methods :error
67
+ define_logging_methods :fatal
68
+
69
+ define_loglevel_check_methods :debug?
70
+ define_loglevel_check_methods :info?
71
+ define_loglevel_check_methods :warn?
72
+ define_loglevel_check_methods :error?
73
+ define_loglevel_check_methods :fatal?
74
+
75
+ # @param level [Integer]
76
+ def level=(level)
77
+ @console.level = @logfile.level = @level = level
78
+ end
79
+ alias_method :sev_threshold, :level
80
+ alias_method :sev_threshold=, :level=
81
+
82
+ # @param name [String, Symbol]
83
+ def progname=(name = nil)
84
+ @console.progname = @logfile.progname = @progname = name
85
+ end
86
+
87
+ # @param formatter
88
+ def formatter=(formatter)
89
+ @console.formatter = @logfile.formatter = @formatter = formatter
90
+ end
91
+
92
+ # @param formatter
93
+ def datetime_format=(format)
94
+ @console.datetime_format =
95
+ @logfile.datetime_format =
96
+ @datetime_format = format
97
+ end
98
+
99
+ # @param logdev_name [String, Symbol]
100
+ # @yield before logdev_name disable, after logdev_name enable.
101
+ def disable(logdev_name)
102
+ if block_given?
103
+ disable(logdev_name)
104
+ yield
105
+ enable(logdev_name)
106
+ else
107
+ logdev_instance(logdev_name).formatter = proc { |_, _, _, _| '' }
108
+ end
109
+ end
110
+
111
+ # @param logdev_name [String, Symbol]
112
+ def enable(logdev_name)
113
+ logdev_instance(logdev_name).formatter = @formatter
114
+ end
115
+
116
+ private
117
+
118
+ def logging(name, progname, &block)
119
+ @console.send(name, progname, &block)
120
+ @logfile.send(name, progname, &block)
121
+ end
122
+
123
+ def logdev_instance(logdev_name)
124
+ instance_variable_get("@#{logdev_name}")
125
+ end
126
+ end
127
+ end
@@ -1,5 +1,5 @@
1
- # namespace
2
- module TeeLogger
3
- # version number
4
- VERSION = '2.6.0'
5
- end
1
+ # namespace
2
+ module TeeLogger
3
+ # version number
4
+ VERSION = '2.7.0'
5
+ end
@@ -35,4 +35,5 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.add_development_dependency 'capture_stdout'
37
37
  spec.add_development_dependency 'fakefs'
38
+ spec.add_development_dependency 'parallel'
38
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tee_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - k-ta-yamada
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-18 00:00:00.000000000 Z
11
+ date: 2015-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: parallel
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  description: logging to file and standard output. require standard library only.
154
168
  email:
155
169
  - key.luvless@gmail.com