lograge-sql 2.4.0 → 2.5.1
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 +4 -4
- data/README.md +14 -0
- data/lib/lograge/active_record_log_subscriber.rb +1 -1
- data/lib/lograge/sql/version.rb +1 -1
- data/lib/lograge/sql.rb +4 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 411c0c5825eb7d03f50656e01258c6e1f496b714e52fb5accdf688fd83ad2dc8
|
4
|
+
data.tar.gz: 216a5da3c96a4e968242b67da4c1d049519ad04481282a3455d587927075fe6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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]
|
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
|
data/lib/lograge/sql/version.rb
CHANGED
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
|
+
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-
|
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: '
|
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: '
|
32
|
+
version: '8.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: lograge
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|