auto_logger 0.1.1 → 0.1.6

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
- SHA1:
3
- metadata.gz: 501704c30b5cbb6ee8a98ea0b049111576c57086
4
- data.tar.gz: 713275f9fa9e5d0fd02fee45ab331cab887ac7a7
2
+ SHA256:
3
+ metadata.gz: c7f51d8f2d708e675544564798a8d494fda2668780e994ec7da69ec087549b1d
4
+ data.tar.gz: 677853ea89d8f8ab5fc71edee5451b40fbfd37714e7adb9055eddcda32bfcb0a
5
5
  SHA512:
6
- metadata.gz: 0a6691516eef1e4a1cdca45ce1319be3a75e5b79c230824df256e40bf7f8caab46a5eac9b078aa6eebf42c9b1e4e06658fb42f6c0da928b1db342ec531ab206a
7
- data.tar.gz: 70cafd1d6dfbd2a067eb9ae577d6bfdc6b38a98f94e59b543228faf0cac5ea8aaf8a8b8f98626537660173774778e238506377a5f263f3f2ffd55dfad6b941df
6
+ metadata.gz: 18db633851ae1906b20f33f2d76c863839bb68789077d0f85a8ce791654b97e2db6e94a347a8570500afc7d2a125afa215bc051cad3724a154c9935b662693b2
7
+ data.tar.gz: 60cdb6c581ddfb1b2dca3c78fdeecb3c2d458d393f60e478082f3ae83256fbc415e681d11fda78ac33924d090386fc8efb5994fd5d48b016c0dc3afce672ade9
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /log/*
10
+ *.gem
data/Gemfile.lock CHANGED
@@ -1,33 +1,44 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- auto_logger (0.1.0)
4
+ auto_logger (0.1.6)
5
5
  activesupport
6
6
  beautiful-log
7
- logger
8
7
 
9
8
  GEM
10
9
  remote: https://rubygems.org/
11
10
  specs:
12
- activesupport (5.2.1)
11
+ activesupport (6.1.3)
13
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
13
+ i18n (>= 1.6, < 2)
14
+ minitest (>= 5.1)
15
+ tzinfo (~> 2.0)
16
+ zeitwerk (~> 2.3)
17
17
  awesome_print (1.8.0)
18
18
  beautiful-log (0.2.2)
19
19
  awesome_print (~> 1.8.0)
20
20
  colorize (~> 0.8.1)
21
+ byebug (11.1.3)
22
+ coderay (1.1.3)
21
23
  colorize (0.8.1)
22
- concurrent-ruby (1.0.5)
23
- i18n (1.1.0)
24
+ concurrent-ruby (1.1.8)
25
+ i18n (1.8.9)
24
26
  concurrent-ruby (~> 1.0)
25
- logger (1.2.8)
27
+ logstash-event (1.2.02)
28
+ logstash-logger (0.26.1)
29
+ logstash-event (~> 1.2)
30
+ method_source (1.0.0)
26
31
  minitest (5.11.3)
32
+ pry (0.13.1)
33
+ coderay (~> 1.1)
34
+ method_source (~> 1.0)
35
+ pry-byebug (3.9.0)
36
+ byebug (~> 11.0)
37
+ pry (~> 0.13.0)
27
38
  rake (10.5.0)
28
- thread_safe (0.3.6)
29
- tzinfo (1.2.5)
30
- thread_safe (~> 0.1)
39
+ tzinfo (2.0.4)
40
+ concurrent-ruby (~> 1.0)
41
+ zeitwerk (2.4.2)
31
42
 
32
43
  PLATFORMS
33
44
  ruby
@@ -35,8 +46,10 @@ PLATFORMS
35
46
  DEPENDENCIES
36
47
  auto_logger!
37
48
  bundler (~> 1.16)
49
+ logstash-logger
38
50
  minitest (~> 5.0)
51
+ pry-byebug
39
52
  rake (~> 10.0)
40
53
 
41
54
  BUNDLED WITH
42
- 1.16.4
55
+ 1.17.2
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AutoLogger
2
- [![Build
3
- Status](https://travis-ci.org/BrandyMint/auto_logger.svg)](https://travis-ci.org/BrandyMint/auto_logger)
2
+
3
+ [![Build Status](https://travis-ci.org/BrandyMint/auto_logger.svg)](https://travis-ci.org/BrandyMint/auto_logger)
4
4
 
5
5
  Упрощяет подключение уникальных логгеров для модулей и классов. После
6
6
  подключения в модуль или класс через `include AutoLogger` добавляет метод
@@ -26,7 +26,7 @@ Or install it yourself as:
26
26
  ## Usage
27
27
 
28
28
  ```
29
- module SomeService
29
+ class SomeService
30
30
  include AutoLogger
31
31
 
32
32
  def perform
@@ -46,6 +46,30 @@ class PublicAPI::OrdersAPI < Grape::API
46
46
  end
47
47
  ```
48
48
 
49
+ Usage in module context:
50
+
51
+ ```
52
+ module Custom
53
+ extend AutoLogger
54
+
55
+ def self.perform
56
+ logger.info "Do..."
57
+ end
58
+ end
59
+
60
+ Custom.logger.info "Do.."
61
+ ```
62
+
63
+ Setup custom logger:
64
+
65
+ ```
66
+ AutoLogger.logger_builder = -> (tag, default_formatter) {
67
+ ActiveSupport::TaggedLogging
68
+ .new(LogStashLogger.new(type: :stdout))
69
+ .tagged(tag)
70
+ }
71
+ ```
72
+
49
73
  ## Development
50
74
 
51
75
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/auto_logger.gemspec CHANGED
@@ -34,9 +34,10 @@ Gem::Specification.new do |spec|
34
34
 
35
35
  spec.add_runtime_dependency 'beautiful-log'
36
36
  spec.add_runtime_dependency 'activesupport'
37
- spec.add_runtime_dependency 'logger'
38
37
 
39
- spec.add_development_dependency "bundler", "~> 1.16"
40
- spec.add_development_dependency "rake", "~> 10.0"
41
- spec.add_development_dependency "minitest", "~> 5.0"
38
+ spec.add_development_dependency 'bundler', '~> 1.16'
39
+ spec.add_development_dependency 'rake', '~> 10.0'
40
+ spec.add_development_dependency 'minitest', '~> 5.0'
41
+ spec.add_development_dependency 'pry-byebug'
42
+ spec.add_development_dependency 'logstash-logger'
42
43
  end
data/lib/auto_logger.rb CHANGED
@@ -28,14 +28,14 @@ require "auto_logger/named"
28
28
  module AutoLogger
29
29
  DEFAULT_LOG_DIR = './log'
30
30
 
31
- mattr_accessor :log_dir
32
-
33
- private
31
+ mattr_accessor :log_dir, :log_formatter, :logger_builder, :_cached_logger
34
32
 
35
33
  def logger
36
- @logger ||= _build_auto_logger
34
+ _cached_logger ||= _build_auto_logger
37
35
  end
38
36
 
37
+ private
38
+
39
39
  # Логируем вместе с временем выполнения
40
40
  #
41
41
  def bm_log(message)
@@ -45,18 +45,18 @@ module AutoLogger
45
45
  res
46
46
  end
47
47
 
48
- def _auto_logger_file_name
49
- self.class.to_s.underscore.gsub('/','_')
48
+ def _auto_logger_tag
49
+ ([Class, Module].include?(self.class) ? self.name : self.class.name).underscore.gsub('/','_')
50
50
  end
51
51
 
52
52
  def _auto_logger_file
53
- file = "#{_auto_logger_file_name}.log"
53
+ file = "#{_auto_logger_tag}.log"
54
54
 
55
55
  if log_dir.present?
56
56
  File.join(log_dir, file)
57
57
 
58
58
  elsif defined? Rails
59
- Rails.root.join filename
59
+ Rails.root.join 'log', file
60
60
 
61
61
  else
62
62
  File.join(DEFAULT_LOG_DIR, file)
@@ -64,11 +64,15 @@ module AutoLogger
64
64
  end
65
65
 
66
66
  def _log_formatter
67
- !defined?(Rails) || Rails.env.test? ? Logger::Formatter.new : Formatter.new
67
+ @log_formatter || !defined?(Rails) || Rails.env.test? ? Logger::Formatter.new : Formatter.new
68
68
  end
69
69
 
70
70
  def _build_auto_logger
71
- ActiveSupport::Logger.new(_auto_logger_file).
72
- tap { |logger| logger.formatter = _log_formatter }
71
+ if logger_builder.nil?
72
+ ActiveSupport::Logger.new(_auto_logger_file).
73
+ tap { |logger| logger.formatter = _log_formatter }
74
+ else
75
+ logger_builder.call(_auto_logger_tag, _log_formatter)
76
+ end
73
77
  end
74
78
  end
@@ -1,3 +1,3 @@
1
1
  module AutoLogger
2
- VERSION = "0.1.1"
2
+ VERSION = '0.1.6'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auto_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danil Pismenny
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-04 00:00:00.000000000 Z
11
+ date: 2021-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: beautiful-log
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: logger
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +80,34 @@ dependencies:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
82
  version: '5.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: logstash-logger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Mixin that adds `logger` method authomatically configured to use log
98
112
  name from module/class
99
113
  email:
@@ -137,8 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
139
153
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.6.14.1
154
+ rubygems_version: 3.0.3
142
155
  signing_key:
143
156
  specification_version: 4
144
157
  summary: "'logger' method configured with class/module name"