tee_logger 2.6.0 → 2.7.0

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