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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06ddcda970511a6f243e21f6d19eaa42bfabbc2f816cb7530617ef27d03b9715
4
- data.tar.gz: 58ca70bcfa882b7266330a1ca941faa49e3f97aa05546cf7e7e5fd2a28bbb875
3
+ metadata.gz: 50f0f3f252b03e126ca79c758b0ec428942695733470126f9d70a1f4d9d817b1
4
+ data.tar.gz: 4bf5183f13b98110611e0767d2cb196c70ac2bb9a92f7711b36e90df71519087
5
5
  SHA512:
6
- metadata.gz: be9241c7bab297a1488fc039857fbc76e6bac11a97e343115bc9bedc254ed7ad911d4687a97bf65b58c2e29e65185885d10940affff50b9b018b8d4d7d3796ab
7
- data.tar.gz: a847f31bad0534f38356c532c54dd39eb8e02e21175e66bb4823c93e4a80e83e46de678ad288311423817cc95b15198bd4aee266d8e4cca0de58910c4ef369ca
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.send_log("This is a log message.")
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.")
@@ -1,3 +1,3 @@
1
1
  module RubyForGrafanaLoki
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
@@ -5,7 +5,7 @@ loader = Zeitwerk::Loader.for_gem
5
5
  loader.setup
6
6
 
7
7
  module RubyForGrafanaLoki
8
- def self.client(logger)
9
- RubyForGrafanaLoki::Client.new(logger)
8
+ def self.client(log_file_path, logs_type)
9
+ RubyForGrafanaLoki::Client.new(log_file_path, logs_type)
10
10
  end
11
11
  end
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.3
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-04 00:00:00.000000000 Z
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