tty-logger 0.5.0 → 0.6.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
  SHA256:
3
- metadata.gz: '0594c7ef471a07571e5621e8535469fcb50edeeb10d7ffa58b194ef8fe4f8350'
4
- data.tar.gz: 42a3b6c20b756754723c42c5b0ce85490b403978ffe566cb267dc6f18811f1c9
3
+ metadata.gz: 708549fdd3524759b7404ed40af85915383fbd0be763133ce06b569931dd776b
4
+ data.tar.gz: 8279b0f105fb3fe7c04e82a129a898f831c48b1b9141d52532f44270ff431d0e
5
5
  SHA512:
6
- metadata.gz: 5fb46bcc0515d4f4762dc9c601b65131a493153ed85e48e83ac64ae70b0b2060d0780d867560bfc8e50ed4c461ea62e1aeba5b4e1b6b55572656196e9958840b
7
- data.tar.gz: 235421d689aa362a858a813fd369cef67673b0c6b13ccf50f6733a603746c3dfc00bde16fdd73fb1dd4358e9457c70d61c033c60d409e3f721eb0b34cc5c40bd
6
+ metadata.gz: 2198bb08a4e783e13910e44934c4d4f7a4eb27c5f724f6d0911acb31f54bac546e239ed04565893ca2993a516924ebba2f6d3a2d00b8ad57e35c4c44db69ecd2
7
+ data.tar.gz: c89656676101aae012ad6d3cc236deb11fc80dc7e5026be7a64c77bb25917d40425085fb3a906b0d61436c69ef4b3e67c7fc4ad178a60718bdc347918e5327ba
@@ -1,5 +1,16 @@
1
1
  # Change log
2
2
 
3
+ ## [v0.6.0] - 2020-12-05
4
+
5
+ ### Added
6
+ * Add :enable_color option to control coloring in the console handler
7
+
8
+ ### Changed
9
+ * Change #add_handler to accept handler configuration options as an extra parameter
10
+
11
+ ### Fixed
12
+ * Fix removing handlers by name or type
13
+
3
14
  ## [v0.5.0] - 2020-09-27
4
15
 
5
16
  ### Added
@@ -50,6 +61,7 @@
50
61
 
51
62
  * Initial implementation and release
52
63
 
64
+ [v0.6.0]: https://github.com/piotrmurach/tty-logger/compare/v0.5.0..v0.6.0
53
65
  [v0.5.0]: https://github.com/piotrmurach/tty-logger/compare/v0.4.0..v0.5.0
54
66
  [v0.4.0]: https://github.com/piotrmurach/tty-logger/compare/v0.3.0..v0.4.0
55
67
  [v0.3.0]: https://github.com/piotrmurach/tty-logger/compare/v0.2.0..v0.3.0
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  # TTY::Logger [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter]
6
6
 
7
7
  [![Gem Version](https://badge.fury.io/rb/tty-logger.svg)][gem]
8
- [![Build Status](https://secure.travis-ci.org/piotrmurach/tty-logger.svg?branch=master)][travis]
8
+ [![Actions CI](https://github.com/piotrmurach/tty-logger/workflows/CI/badge.svg?branch=master)][gh_actions_ci]
9
9
  [![Build status](https://ci.appveyor.com/api/projects/status/vtrkdk0naknnxoog?svg=true)][appveyor]
10
10
  [![Code Climate](https://codeclimate.com/github/piotrmurach/tty-logger/badges/gpa.svg)][codeclimate]
11
11
  [![Coverage Status](https://coveralls.io/repos/github/piotrmurach/tty-logger/badge.svg)][coverage]
@@ -13,7 +13,7 @@
13
13
 
14
14
  [gitter]: https://gitter.im/piotrmurach/tty
15
15
  [gem]: http://badge.fury.io/rb/tty-logger
16
- [travis]: http://travis-ci.org/piotrmurach/tty-logger
16
+ [gh_actions_ci]: https://github.com/piotrmurach/tty-logger/actions?query=workflow%3ACI
17
17
  [appveyor]: https://ci.appveyor.com/project/piotrmurach/tty-logger
18
18
  [codeclimate]: https://codeclimate.com/github/piotrmurach/tty-logger
19
19
  [coverage]: https://coveralls.io/github/piotrmurach/tty-logger
@@ -549,9 +549,11 @@ logger.remove_handler(:console)
549
549
  The console handler prints log messages to the console. It supports the following options:
550
550
 
551
551
  * `:styles` - a hash of styling options.
552
- * `:formatter` - the formatter for log messages. Defaults to `:text`
553
- * `:output` - the device to log error messages to. Defaults to `$stderr`
552
+ * `:formatter` - the formatter for log messages. Defaults to `:text`.
553
+ * `:output` - the device to log error messages to. Defaults to `$stderr`.
554
554
  * `:message_format` - uses `sprintf` format to display messages. Defaults to `"%-25s"`.
555
+ * `:enable_color` - when `true` forces colored output, when `false` disables colored output.
556
+ Defaults to `nil` which performs automatic terminal color support detection.
555
557
 
556
558
  The supported options in the `:styles` are:
557
559
 
@@ -134,13 +134,22 @@ module TTY
134
134
  # @example
135
135
  # add_handler(:console)
136
136
  #
137
+ # @example
138
+ # add_handler(:console, styles: { info: { color: :yellow } })
139
+ #
140
+ # @example
141
+ # add_handler([:console, message_format: "%-10s"])
142
+ #
143
+ # @param [Symbol, Handlers] handler
144
+ # the handler name or class
145
+ #
137
146
  # @api public
138
- def add_handler(handler)
139
- h, options = *(handler.is_a?(Array) ? handler : [handler, {}])
140
- name = coerce_handler(h)
147
+ def add_handler(handler, **options)
148
+ h, h_opts = *(handler.is_a?(Array) ? handler : [handler, options])
149
+ handler_type = coerce_handler(h)
141
150
  global_opts = { output: @output, config: @config }
142
- opts = global_opts.merge(options)
143
- ready_handler = name.new(**opts)
151
+ opts = global_opts.merge(h_opts)
152
+ ready_handler = handler_type.new(**opts)
144
153
  @ready_handlers << ready_handler
145
154
  end
146
155
 
@@ -151,7 +160,8 @@ module TTY
151
160
  #
152
161
  # @api public
153
162
  def remove_handler(handler)
154
- @ready_handlers.delete(handler)
163
+ handler_type = coerce_handler(handler)
164
+ @ready_handlers.delete_if { |_handler| _handler.is_a?(handler_type) }
155
165
  end
156
166
 
157
167
  # Coerce handler name into object
@@ -82,7 +82,7 @@ module TTY
82
82
  attr_reader :message_format
83
83
 
84
84
  def initialize(output: $stderr, formatter: nil, config: nil, level: nil,
85
- styles: {}, message_format: "%-25s")
85
+ styles: {}, enable_color: nil, message_format: "%-25s")
86
86
  @output = Array[output].flatten
87
87
  @formatter = coerce_formatter(formatter || config.formatter).new
88
88
  @formatter_name = @formatter.class.name.split("::").last.downcase
@@ -91,7 +91,7 @@ module TTY
91
91
  @styles = styles
92
92
  @level = level || @config.level
93
93
  @mutex = Mutex.new
94
- @pastel = Pastel.new
94
+ @pastel = Pastel.new(enabled: enable_color)
95
95
  @message_format = message_format
96
96
  end
97
97
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TTY
4
4
  class Logger
5
- VERSION = "0.5.0"
5
+ VERSION = "0.6.0"
6
6
  end # Logger
7
7
  end # TTY
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Murach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-27 00:00:00.000000000 Z
11
+ date: 2020-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pastel