console-adapter-rails 0.3.4 → 0.4.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: abd9adec2e1cfc1d328702870234107d437f1fe66e13346440565a318ac83580
4
- data.tar.gz: 577e164ed9f4c9838b028e2e95def5893c31e8bd22af48077d9c7ec57e081d2c
3
+ metadata.gz: 5cc4bca3597337b67f0d19a87e57e5bd5e989f3e99052e6a07968db52e4e77a1
4
+ data.tar.gz: 2a2cd5896bf6966db23d612a05f481c41b44735ee8a36e4ea7bd1c0d6e6b7a70
5
5
  SHA512:
6
- metadata.gz: 7327c9cc36a454ec0e8feec77154b74fc3b5e6750475a8c8a59cbfcc03d065e89085c82cb2dda280388c6cfada526525dad79c6fa104b0254f85903d1c9be49d
7
- data.tar.gz: 233cd6789316c80808e78c5daa76128e97bfea17a8f5c94ecbcc80728e11b4b6805f6aff09197c4f415fc296ae3a92b54038de8e649368207a29fc2d3b90c600
6
+ metadata.gz: 02a6978fad7e5c8d645af5e5994b610e1b71b3c618858de3a4d621c5387cb3964102e4306f0941b6c117b710ccc1d46e2a52b45a738bbb288d663da1949426bf
7
+ data.tar.gz: ec8cffd46a7cd02fe812713fd87123af1ffbd880f19d79b45b8ad731def893148d2069084211ee6125ea0893971a8c83decaecc996781e8aca89be083e9aecde
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �;������!��;��7��oIo0�k �܂��ֹ�e�џk˂�ڇ����t�ԕ��J���MCuߧi]�w똾X��fa�C�F�����$����t�����-�jX�X=!�b��(}0�ϱ,���-�W���G�L����l���������NNK�./0%���T��x��?'�F?�n3Eч�.&�o���d�^��O��]<$�m�Rx� uî������@_��Tb�)���S�Ǜ���p���-Y/$A���^qbC ���b�PF�Q���;�K&b�
2
1
  �X�Z��
3
- [���&�j��pewo��BJ���� ۯ���8oid����
2
+ �h�;� ��;ad� ��6�D��U�|�����ޥ�����RO %cY�蠂&��2J1��+d_~���DŤ��u�Y>��%�g_OICI�#�a�
3
+ �{ӦUw�
@@ -12,9 +12,11 @@ require 'active_support/logger_silence'
12
12
 
13
13
  if ActiveSupport::Logger.respond_to?(:logger_outputs_to?)
14
14
  # https://github.com/rails/rails/issues/44800
15
- class ActiveSupport::Logger
16
- def self.logger_outputs_to?(*)
17
- true
15
+ module ActiveSupport
16
+ class Logger
17
+ def self.logger_outputs_to?(*)
18
+ true
19
+ end
18
20
  end
19
21
  end
20
22
  end
@@ -30,6 +32,14 @@ module Console
30
32
  @silence_key = :"#{self.class}.silence.#{object_id}"
31
33
  end
32
34
 
35
+ def local_level= severity
36
+ Fiber[@silence_key] = severity
37
+ end
38
+
39
+ def local_level
40
+ Fiber[@silence_key]
41
+ end
42
+
33
43
  # Silences the logger for the duration of the block.
34
44
  def silence(severity = Logger::ERROR)
35
45
  current = Fiber[@silence_key]
@@ -56,9 +66,6 @@ module Console
56
66
  configuration.logger = ActiveSupport::TaggedLogging.new(
57
67
  Logger.new(::Rails)
58
68
  )
59
-
60
- # Delete `Rails::Rack::Logger` as it also doubles up on request logs:
61
- configuration.middleware.delete ::Rails::Rack::Logger
62
69
  end
63
70
  end
64
71
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2023, by Samuel Williams.
5
+
6
+ require 'action_controller/log_subscriber'
7
+ require 'action_view/log_subscriber'
8
+
9
+ module Console
10
+ module Adapter
11
+ module Rails
12
+ # Hook into Rails startup process and replace Rails.logger with our custom hooks
13
+ class Railtie < ::Rails::Railtie
14
+ initializer 'console.adapter.rails', before: :initialize_logger do |app|
15
+ # 1. Set up Console to be used as the Rails logger
16
+ Logger.apply!(configuration: app.config)
17
+
18
+ # 2. Remove the Rails::Rack::Logger middleware as it also doubles up on request logs
19
+ app.middleware.delete ::Rails::Rack::Logger
20
+ end
21
+
22
+ # 3. Remove existing log subscribers for ActionController and ActionView
23
+ config.after_initialize do
24
+ ::ActionController::LogSubscriber.detach_from :action_controller
25
+
26
+ # Silence the default action view logs, e.g. "Rendering text template" etc
27
+ ::ActionView::LogSubscriber.detach_from :action_view
28
+ end
29
+
30
+ config.after_initialize do
31
+ # 4. Add a new log subscriber for ActionController
32
+ ActionController.apply!
33
+
34
+ # 5. (optionally) Add a new log subscriber for ActiveRecord
35
+ # ActiveRecord.apply!
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -6,7 +6,7 @@
6
6
  module Console
7
7
  module Adapter
8
8
  module Rails
9
- VERSION = "0.3.4"
9
+ VERSION = "0.4.0"
10
10
  end
11
11
  end
12
12
  end
@@ -6,27 +6,14 @@
6
6
  require_relative 'rails/logger'
7
7
  require_relative 'rails/action_controller'
8
8
  require_relative 'rails/active_record'
9
+ require_relative 'rails/railtie'
9
10
 
10
11
  module Console
11
12
  module Adapter
12
13
  # A Rails adapter for the console logger.
13
14
  module Rails
14
- # Apply the Rails adapter to the current process and Rails application.
15
- # @parameter notifications [ActiveSupport::Notifications] The notifications object to use.
16
- # @parameter configuration [Rails::Configuration] The configuration object to use.
17
- def self.apply!(notifications: ActiveSupport::Notifications, configuration: ::Rails.configuration)
18
- if configuration
19
- Logger.apply!(configuration: configuration)
20
- end
21
-
22
- if notifications
23
- # Clear out all the existing subscribers otherwise you'll get double the logs:
24
- notifications.notifier = ActiveSupport::Notifications::Fanout.new
25
-
26
- # Add our own subscribers:
27
- Rails::ActionController.apply!(notifications: notifications)
28
- # Rails::ActiveRecord.apply!(notifications: notifications)
29
- end
15
+ # Placeholder to remain compatible with older clients
16
+ def self.apply!
30
17
  end
31
18
  end
32
19
  end
data/readme.md CHANGED
@@ -7,10 +7,9 @@ Status](https://github.com/socketry/console-adapter-rails/workflows/Test/badge.s
7
7
 
8
8
  ## Usage
9
9
 
10
- Please see the [project documentation](https://socketry.github.io/console-adapter-rails) for more details.
10
+ Please see the [project documentation](https://socketry.github.io/console-adapter-rails/) for more details.
11
11
 
12
- - [Getting Started](https://github.com/socketry/console-adapter-railsguides/getting-started/index) - This guide
13
- explains how to integrate the `console-adapter-rails` gem into your Rails application.
12
+ - [Getting Started](https://socketry.github.io/console-adapter-rails/guides/getting-started/index) - This guide explains how to integrate the `console-adapter-rails` gem into your Rails application.
14
13
 
15
14
  ## Contributing
16
15
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: console-adapter-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -37,7 +37,7 @@ cert_chain:
37
37
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
38
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
39
  -----END CERTIFICATE-----
40
- date: 2023-08-24 00:00:00.000000000 Z
40
+ date: 2024-04-04 00:00:00.000000000 Z
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: console
@@ -91,13 +91,15 @@ files:
91
91
  - lib/console/adapter/rails/action_controller.rb
92
92
  - lib/console/adapter/rails/active_record.rb
93
93
  - lib/console/adapter/rails/logger.rb
94
+ - lib/console/adapter/rails/railtie.rb
94
95
  - lib/console/adapter/rails/version.rb
95
96
  - license.md
96
97
  - readme.md
97
98
  homepage: https://github.com/socketry/console-adapter-rails
98
99
  licenses:
99
100
  - MIT
100
- metadata: {}
101
+ metadata:
102
+ documentation_uri: https://socketry.github.io/console-adapter-rails/
101
103
  post_install_message:
102
104
  rdoc_options: []
103
105
  require_paths:
@@ -113,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
115
  - !ruby/object:Gem::Version
114
116
  version: '0'
115
117
  requirements: []
116
- rubygems_version: 3.4.10
118
+ rubygems_version: 3.5.3
117
119
  signing_key:
118
120
  specification_version: 4
119
121
  summary: Adapt Rails logs and events to the console gem.
metadata.gz.sig CHANGED
Binary file