awesome_fluent_logger 1.0.0 → 1.0.1

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: 1684e8418e704f1c67b8d2de819c643aaea45c519b5434238f2c212cff61dac5
4
- data.tar.gz: 9392912355c358904c46de8321a4efeaae97a12a4ce80671f0544ba2eab6347e
3
+ metadata.gz: e2f2060607f90e202c8a113ffa5f912e7d3043d8f6a4daac4bb7cdc92d5f471c
4
+ data.tar.gz: 26e74d65295d1759338dba1ef7943a964c7cad12fb9f354e7d18256c3e0f4666
5
5
  SHA512:
6
- metadata.gz: d2df0d2b0f0961670b964ea835a4d170bb19ad4a279e48a34d3731143c93f55d79a986e2ff06129ba2a8b31cf53a76b64fead02075b2b948ccc9b6a2fdbddedb
7
- data.tar.gz: 40a62cd6d6e5cda5c7b5f166b7f58387a36a1b6b24e0f78c64e08ed4bde962ad234bbb1507bf5f7f1a6346d74dfb2ee30453a142d7493e05023051ede896c395
6
+ metadata.gz: acab544566c8a34ff28319f6bb2d4c720291b3538d4b5b43b9e4c0164082faaefea0bab104740043b06c29908f5ec70d6bb246e1878f36f5bef5f91195999e63
7
+ data.tar.gz: 385cdb68c5c833f22154cd6efde8e8bd2949eaf9c502ac35343a899e43589865b88f61816f6b45129ce992f25b1260267f04e6a7ef036bf74ae16f977834fb39
@@ -8,35 +8,22 @@ jobs:
8
8
  rspec:
9
9
  runs-on: ubuntu-latest
10
10
  strategy:
11
- fail-fast: true
11
+ fail-fast: false
12
12
  matrix:
13
13
  ruby-version:
14
- - 2.5
15
- - 2.6
16
- - 2.7
14
+ - "2.5"
15
+ - "2.6"
16
+ - "2.7"
17
+ - "3.0"
17
18
 
18
19
  steps:
19
20
  - uses: actions/checkout@v2
20
21
 
21
- - uses: actions/cache@v1
22
- with:
23
- path: vendor/bundle
24
- key: ${{ runner.os }}-gems-${{ hashFiles('api/Gemfile.lock') }}
25
- restore-keys: |
26
- ${{ runner.os }}-gems-
27
-
28
22
  - name: Setup Ruby v${{ matrix.ruby-version }}
29
- uses: actions/setup-ruby@v1
23
+ uses: ruby/setup-ruby@v1
30
24
  with:
31
- ruby_version: ${{ matrix.ruby-version }}
32
-
33
- - name: Install bundler
34
- run: gem install bundler -v "~> 1.17"
35
-
36
- - name: Execute bundle install
37
- run: |
38
- bundle config path vendor/bundle
39
- bundle install --jobs 4 --retry 3
25
+ ruby-version: ${{ matrix.ruby-version }}
26
+ bundler-cache: true
40
27
 
41
28
  - name: Run rspec
42
29
  run: bundle exec rspec --format documentation
@@ -12,10 +12,10 @@ jobs:
12
12
  steps:
13
13
  - uses: actions/checkout@v2
14
14
 
15
- - name: Set up Ruby 2.6
15
+ - name: Set up Ruby 2.7
16
16
  uses: actions/setup-ruby@v1
17
17
  with:
18
- - 2.6
18
+ ruby-version: 2.7
19
19
 
20
20
  - name: Publish to RubyGems
21
21
  env:
@@ -0,0 +1,11 @@
1
+ # 1.0.1
2
+
3
+ * Support Ruby 3 - [#1](https://github.com/windyakin/awesome_fluent_logger/pull/1)
4
+
5
+ # 1.0.0
6
+
7
+ * Stable release
8
+
9
+ # 0.1.0
10
+
11
+ * Development release
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- awesome_fluent_logger (1.0.0)
4
+ awesome_fluent_logger (1.0.1)
5
5
  fluent-logger (~> 0.9)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # AwesomeFluentLogger
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/awesome_fluent_logger`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ [![Gem Version](https://img.shields.io/gem/v/awesome_fluent_logger.svg?color=orange&logo=rubygems)](https://rubygems.org/gems/awesome_fluent_logger)
4
+ ![ci](https://github.com/windyakin/awesome_fluent_logger/workflows/ci/badge.svg)
5
+
6
+ This library can mimic Ruby's built-in Logger class to forward logs to Fluentd. You can use this library not only for Rails but also for pure-Ruby apps.
7
+
8
+ Commentary: [シンプルに Fluentd にログ転送ができる RubyGem "awesome_fluent_logger" をつくった](https://windyakin.hateblo.jp/entry/2021/01/24/143242) (日本語/Japanese)
4
9
 
5
10
  ## Installation
6
11
 
@@ -47,18 +52,65 @@ Rails configure file (`config/application.rb` or `config/environments/{RAILS_ENV
47
52
 
48
53
  ```ruby
49
54
  logger = AwesomeFluentLogger.new(fluent: { host: 'localhost', port: 24224 })
50
- config.logger = ActiveSupport::TaggedLogging(logger)
55
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
51
56
  ```
52
57
 
53
- ### Set fluent-logger instance
58
+ ### Can be set fluent-logger instance in initialize parameters
54
59
 
55
- `fluent` of initialize argument can be passed an instance of [fluent-logger](https://github.com/fluent/fluent-logger-ruby)
60
+ `:fluent` of initialize argument can be set an instance of [Fluent::Logger::FluentLogger](https://github.com/fluent/fluent-logger-ruby) class.
56
61
 
57
62
  ```ruby
58
- fluent = Fluent::Logger.new(nil, host: 'localhost', port: 24224)
63
+ fluent = Fluent::Logger::FluentLogger.new(nil, socket_path: '/tmp/fluent.sock')
59
64
  logger = AwesomeFluentLogger.new(fluent: fluent)
60
65
  ```
61
66
 
67
+ ### Fluent tags
68
+
69
+ If the initialize parameter `[:fluent][:tag_prefix]` is specified, it will be inserted at the beginning of the Fluentd tag.
70
+
71
+ ```ruby
72
+ logger = AwesomeFluentLogger.new(fluent: { tag_prefix: 'kanan', host: 'localhost', port: 24224 })
73
+ logger.info('ご機嫌いかがかなん?')
74
+ ```
75
+
76
+ ```
77
+ 2021-01-23 13:28:46.000000000 +0000 kanan.info: {"severity":"INFO", ...
78
+ ```
79
+
80
+ The same effect is given by specifying `progname`.
81
+
82
+ ```ruby
83
+ logger = AwesomeFluentLogger.new(fluent: { host: 'localhost', port: 24224 }, progname: 'chika')
84
+ logger.info('かんかんみかん')
85
+ ```
86
+
87
+ ```
88
+ 2021-01-23 13:28:46.000000000 +0000 chika.info: {"severity":"INFO", ...
89
+ ```
90
+
91
+ If both are specified, they will be nested. In this case, tag_prefix will be added first.
92
+
93
+ ```ruby
94
+ logger = AwesomeFluentLogger.new(fluent: { tag_prefix: 'kanan', host: 'localhost', port: 24224 }, progname: 'chika')
95
+ logger.info('2人は幼馴染です')
96
+ ```
97
+
98
+ ```
99
+ 2021-01-23 13:28:46.000000000 +0000 kanan.chika.info: {"severity":"INFO", ...
100
+ ```
101
+
102
+ ### Initialize parameters
103
+
104
+ Other initialization parameters are based on the Logger class of the Ruby standard library.
105
+
106
+ | Key | Default | Descriptions |
107
+ |:---|:---|:---|
108
+ | `fluent` | (none) | `Fluent::Logger::FluentLogger` initialize paramater hash or `Fluent::Logger::FluentLogger` class instance |
109
+ | `level` | `Logger::DEBUG` | [Logger severity level constant](https://docs.ruby-lang.org/en/master/Logger.html) |
110
+ | `progname` | `nil` | Program name to include in log messages **and Fluentd tag** |
111
+ | `formatter` | [`AwesomeFluentLogger::Formatter`](lib/awesome_fluent_logger/formatter.rb) | Inherited `Logger::Formatter` class instance |
112
+ | `datetime_format` | `%Y-%m-%d %H:%M:%S.%6N %z` | `%iso8601` or [`Time#strftime` formatted text](https://docs.ruby-lang.org/en/master/Time.html#method-i-strftime) |
113
+
62
114
  ## Contributing
63
115
 
64
116
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/awesome_fluent_logger. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/awesome_fluent_logger/blob/master/CODE_OF_CONDUCT.md).
@@ -66,4 +118,4 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERN
66
118
 
67
119
  ## License
68
120
 
69
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
121
+ [MIT License](LICENSE.txt)
@@ -3,8 +3,8 @@ require 'awesome_fluent_logger/logger'
3
3
  require 'awesome_fluent_logger/formatter'
4
4
 
5
5
  module AwesomeFluentLogger
6
- def self.new(*args)
7
- AwesomeFluentLogger::Logger.new(*args)
6
+ def self.new(**args)
7
+ AwesomeFluentLogger::Logger.new(**args)
8
8
  end
9
9
  class FluentConnectionError < StandardError; end
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module AwesomeFluentLogger
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awesome_fluent_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - windyakin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-23 00:00:00.000000000 Z
11
+ date: 2021-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluent-logger
@@ -79,6 +79,7 @@ files:
79
79
  - ".github/workflows/release.yml"
80
80
  - ".gitignore"
81
81
  - ".rspec"
82
+ - CHANGELOG.md
82
83
  - CODE_OF_CONDUCT.md
83
84
  - Gemfile
84
85
  - Gemfile.lock
@@ -115,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
116
  - !ruby/object:Gem::Version
116
117
  version: '0'
117
118
  requirements: []
118
- rubygems_version: 3.1.2
119
+ rubygems_version: 3.1.4
119
120
  signing_key:
120
121
  specification_version: 4
121
122
  summary: Awesome logger with fluent-logger for Ruby