lograge-sql 2.4.0 → 2.5.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: 4741be36b981948cc0562664564b910b3bf0ed6bb02a0f39e0af3798bc66f5b6
4
- data.tar.gz: 92d89a6ddae169b32be1b2512dcbc8fd06843891cc464873899c464be761efb5
3
+ metadata.gz: 411c0c5825eb7d03f50656e01258c6e1f496b714e52fb5accdf688fd83ad2dc8
4
+ data.tar.gz: 216a5da3c96a4e968242b67da4c1d049519ad04481282a3455d587927075fe6a
5
5
  SHA512:
6
- metadata.gz: 14c80d0b256734c869b82f6652afebc1f3e1b64e465c1c4e49b7dfe1407ebe28771b070abde47a4b7a14e85a082e3e5c47d88c867ae064bedda2b83f150d2eb8
7
- data.tar.gz: 40176ec3866decded7e8801b41a5521abe466f5d52858d5040e70b341e7132412377c1fa6d6d12859dcbc28594e7ddad3037bdee747747ac8b98409e70c038a1
6
+ metadata.gz: d1f070808821acc5193c216f1586cb41eda7dc7a411446d1fab0f29bb6948672e704a7112f5658b504386f476e5a08ae7797415f01fdf260188bb5c83aeb31c3
7
+ data.tar.gz: 3df2ef7fbc138431e8e43963f0a1ba9ca39af1165447f5dfd93c1cdf1b6a4fd84da9da9255de0ad37bc92cd1b7d6199d59c393bbfc6aa6138453336c3d72a66f
data/README.md CHANGED
@@ -45,6 +45,20 @@ Rails.application.configure do
45
45
  end
46
46
  ```
47
47
 
48
+ ### Filtering sql queries by name
49
+
50
+ You can filter out queries using the `query_name_denylist` configuration.
51
+ This takes an array of regular expressions to match against the query name. If the query name matches any of the regular expressions, it will be ignored. By default, `lograge-sql` ignores queries named `SCHEMA` and queries from the `SolidCable` namespace.
52
+ If you are using Solid Cable in your project, be careful when removing this default value as it will cause a [memory leak](https://github.com/iMacTia/lograge-sql/issues/59).
53
+
54
+ ```ruby
55
+ # config/initializers/lograge.rb
56
+ Rails.application.configure do
57
+ # Defaults is [/\ASCHEMA\z/, /\ASolidCable::/]
58
+ config.lograge_sql.query_name_denylist << /\AEXACT NAME TO IGNORE\z/
59
+ end
60
+ ```
61
+
48
62
  ### Output Customization
49
63
 
50
64
  By default, the format is a string concatenation of the query name, the query duration and the query itself joined by `\n` newline:
@@ -33,7 +33,7 @@ module Lograge
33
33
  end
34
34
 
35
35
  def valid?(event)
36
- return false if event.payload[:name] == 'SCHEMA'
36
+ return false if event.payload[:name]&.match?(Lograge::Sql.query_name_denylist)
37
37
 
38
38
  # Only store SQL events if `event.duration` is greater than the configured +min_duration+
39
39
  # No need to check if +min_duration+ is present before as it defaults to 0
@@ -3,6 +3,6 @@
3
3
  module Lograge
4
4
  module Sql
5
5
  # Gem version
6
- VERSION = '2.4.0'
6
+ VERSION = '2.5.1'
7
7
  end
8
8
  end
data/lib/lograge/sql.rb CHANGED
@@ -15,13 +15,16 @@ module Lograge
15
15
  attr_accessor :min_duration_ms
16
16
  # Filter SQL query
17
17
  attr_accessor :query_filter
18
+ # Filter wich SQL queries to store
19
+ attr_accessor :query_name_denylist
18
20
 
19
21
  # Initialise configuration with fallback to default values
20
- def setup(config)
22
+ def setup(config) # rubocop:disable Metrics/AbcSize
21
23
  Lograge::Sql.formatter = config.formatter || default_formatter
22
24
  Lograge::Sql.extract_event = config.extract_event || default_extract_event
23
25
  Lograge::Sql.min_duration_ms = config.min_duration_ms || 0
24
26
  Lograge::Sql.query_filter = config.query_filter
27
+ Lograge::Sql.query_name_denylist = Regexp.union(config.query_name_denylist || [/\ASCHEMA\z/, /\ASolidCable::/])
25
28
 
26
29
  # Disable existing ActiveRecord logging
27
30
  unsubscribe_log_subscribers unless config.keep_default_active_record_log
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lograge-sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mattia Giuffrida
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-29 00:00:00.000000000 Z
11
+ date: 2024-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '5'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '7.3'
22
+ version: '8.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '5'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '7.3'
32
+ version: '8.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: lograge
35
35
  requirement: !ruby/object:Gem::Requirement