ruby_for_grafana_loki 0.0.3 → 0.0.4
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 +8 -2
- data/lib/ruby_for_grafana_loki/client.rb +12 -15
- data/lib/ruby_for_grafana_loki/version.rb +1 -1
- data/lib/ruby_for_grafana_loki.rb +2 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50f0f3f252b03e126ca79c758b0ec428942695733470126f9d70a1f4d9d817b1
|
4
|
+
data.tar.gz: 4bf5183f13b98110611e0767d2cb196c70ac2bb9a92f7711b36e90df71519087
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5fccfd9c6a16fdfa7c710bcb3bd1a04c81343e6bcbccc4346530c45c62d269e50e26ab55ec126fce053d5dcfadad86fe11673c86f753593bdd84a5fce435a66
|
7
|
+
data.tar.gz: 5400a75de89bdbc5df1daf9078079130a3c89c4d41ba6c93a7c23e059b949e09af7413331b45f697be566f9645c929b2e94d399ef58b8681cdb68a20aa1bf81a
|
data/README.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
|
2
2
|
# Usage in your gem or application
|
3
|
+
<pre>
|
4
|
+
|
5
|
+
|
6
|
+
logs_type = %w(ERROR WARN) # Use custom logs type: ERROR, WARN, FATAL, INFO, DEBUG
|
3
7
|
log_file_path = "log/#{Rails.env}.log"
|
4
|
-
client = RubyForGrafanaLoki.client(log_file_path)
|
5
|
-
client.
|
8
|
+
client = RubyForGrafanaLoki.client(log_file_path, logs_type)
|
9
|
+
client.send_all_logs
|
10
|
+
client.send_log("This is a log message.") # not required
|
11
|
+
</pre>
|
@@ -1,15 +1,17 @@
|
|
1
1
|
module RubyForGrafanaLoki
|
2
|
+
LOGS_TYPE = %w(ERROR WARN FATAL INFO DEBUG).freeze
|
2
3
|
class Client
|
3
4
|
include RubyForGrafanaLoki::Request
|
4
5
|
|
5
|
-
def initialize(log_file_path)
|
6
|
+
def initialize(log_file_path, allowed_logs_type = LOGS_TYPE)
|
6
7
|
@log_file_path = log_file_path
|
8
|
+
@allowed_logs_type = allowed_logs_type
|
7
9
|
end
|
8
10
|
|
9
11
|
def send_all_logs
|
10
12
|
File.open(@log_file_path, 'r') do |file|
|
11
13
|
file.each_line do |line|
|
12
|
-
send_log(line)
|
14
|
+
send_log(line) if match_logs_type?(line)
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -41,21 +43,16 @@ module RubyForGrafanaLoki
|
|
41
43
|
json_payload = JSON.generate(payload)
|
42
44
|
uri = '/loki/api/v1/push'
|
43
45
|
|
44
|
-
# Use logger for sending logs to both default logger and Loki
|
45
|
-
# @logger.info "Sending log to Loki: #{json_payload}"
|
46
|
-
|
47
|
-
# Send logs to Loki using the post method
|
48
46
|
post(uri, json_payload)
|
49
47
|
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def match_logs_type?(log_line)
|
52
|
+
type = log_line.match(/(ERROR|WARN|FATAL|INFO|DEBUG)/)&.to_s
|
53
|
+
|
54
|
+
@allowed_logs_type.include?(type)
|
55
|
+
end
|
50
56
|
end
|
51
57
|
end
|
52
58
|
|
53
|
-
|
54
|
-
# # In your application code
|
55
|
-
#
|
56
|
-
# # Example with Rails logger
|
57
|
-
# rails_logger = Logger.new(STDOUT)
|
58
|
-
# client = RubyForGrafanaLoki.client(rails_logger)
|
59
|
-
#
|
60
|
-
# # Send a log entry to Loki
|
61
|
-
# client.send_log("This is a log message.")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_for_grafana_loki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oleg Ten
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
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'
|
41
55
|
description: Attempt to make gem
|
42
56
|
email:
|
43
57
|
- tennet0505@gmail.com
|