ruby_for_grafana_loki 0.0.1 → 0.0.3

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: 5ec9e06323e8376d4ee340c324820349259f2d3b9590d66b494fa537520e6e15
4
- data.tar.gz: 878b6ef35c8ae5635b96a8c525f36dbbcabb92cf8f5f7b38af660ccc3c71d304
3
+ metadata.gz: 06ddcda970511a6f243e21f6d19eaa42bfabbc2f816cb7530617ef27d03b9715
4
+ data.tar.gz: 58ca70bcfa882b7266330a1ca941faa49e3f97aa05546cf7e7e5fd2a28bbb875
5
5
  SHA512:
6
- metadata.gz: 311e1cabe3829e3f4b5a4a9f5fc3f3c6da4842eb4767531d7d76dbc658f862cd469b6ef5b4bee6a6defbcdca6e93af5ff5415e28f08390bfb637aab7e508f2cd
7
- data.tar.gz: e00297c20a6d8e57fed8b65e6005d23dabf3fdf4f4695efa8d1b5c7ab08ee544fb8cd0820e5a6f5b2d75b7a1cd5508f13b0d018e8f3e9dd67aa5843085b3efb9
6
+ metadata.gz: be9241c7bab297a1488fc039857fbc76e6bac11a97e343115bc9bedc254ed7ad911d4687a97bf65b58c2e29e65185885d10940affff50b9b018b8d4d7d3796ab
7
+ data.tar.gz: a847f31bad0534f38356c532c54dd39eb8e02e21175e66bb4823c93e4a80e83e46de678ad288311423817cc95b15198bd4aee266d8e4cca0de58910c4ef369ca
data/README.md CHANGED
@@ -0,0 +1,5 @@
1
+
2
+ # Usage in your gem or application
3
+ log_file_path = "log/#{Rails.env}.log"
4
+ client = RubyForGrafanaLoki.client(log_file_path)
5
+ client.send_log("This is a log message.")
@@ -2,10 +2,17 @@ module RubyForGrafanaLoki
2
2
  class Client
3
3
  include RubyForGrafanaLoki::Request
4
4
 
5
- def initialize(logger)
6
- @logger = logger
5
+ def initialize(log_file_path)
6
+ @log_file_path = log_file_path
7
7
  end
8
8
 
9
+ def send_all_logs
10
+ File.open(@log_file_path, 'r') do |file|
11
+ file.each_line do |line|
12
+ send_log(line)
13
+ end
14
+ end
15
+ end
9
16
  def send_log(log_message)
10
17
  curr_datetime = Time.now.to_i * 1_000_000_000
11
18
 
@@ -35,7 +42,7 @@ module RubyForGrafanaLoki
35
42
  uri = '/loki/api/v1/push'
36
43
 
37
44
  # Use logger for sending logs to both default logger and Loki
38
- @logger.info "Sending log to Loki: #{json_payload}"
45
+ # @logger.info "Sending log to Loki: #{json_payload}"
39
46
 
40
47
  # Send logs to Loki using the post method
41
48
  post(uri, json_payload)
@@ -48,7 +55,7 @@ end
48
55
  #
49
56
  # # Example with Rails logger
50
57
  # rails_logger = Logger.new(STDOUT)
51
- # client = RailsLokiExporterDev.client(rails_logger)
58
+ # client = RubyForGrafanaLoki.client(rails_logger)
52
59
  #
53
60
  # # Send a log entry to Loki
54
61
  # client.send_log("This is a log message.")
@@ -4,36 +4,36 @@ module RubyForGrafanaLoki
4
4
  BASE_URL = 'http://localhost:3100/'
5
5
 
6
6
  def connection
7
- Faraday.new(options) do |faraday|
8
- faraday.adapter Faraday.default_adapter
9
- faraday.request :url_encoded
7
+ Faraday.new(options) do |faraday|
8
+ faraday.adapter Faraday.default_adapter
9
+ faraday.request :url_encoded
10
10
  end
11
11
  end
12
12
 
13
13
  def post(path, body)
14
- response = connection.post(path) do |req|
15
- req.headers['Content-Type'] = 'application/json'
16
- req.body = JSON.generate(body)
17
- end
14
+ response = connection.post(path) do |req|
15
+ req.headers['Content-Type'] = 'application/json'
16
+ req.body = JSON.generate(body)
17
+ end
18
18
 
19
- # Check if the request was successful
20
- if response.success?
21
- return JSON.parse(response.body)
22
- else
23
- raise "Failed to make POST request. Response code: #{response.status}, Response body: #{response.body}"
24
- end
19
+ # Check if the request was successful
20
+ if response.success?
21
+ return JSON.parse(response.body)
22
+ else
23
+ raise "Failed to make POST request. Response code: #{response.status}, Response body: #{response.body}"
25
24
  end
25
+ end
26
26
 
27
27
  private
28
28
  def options
29
- headers = {
30
- accept: 'application/json',
31
- 'Content-Type' => 'application/json'
29
+ headers = {
30
+ accept: 'application/json',
31
+ 'Content-Type' => 'application/json'
32
+ }
33
+ return {
34
+ url: BASE_URL,
35
+ headers: headers
32
36
  }
33
- return {
34
- url: BASE_URL,
35
- headers: headers
36
- }
37
- end
38
- end
37
+ end
38
+ end
39
39
  end
@@ -1,29 +1,28 @@
1
1
  module RubyForGrafanaLoki
2
- module Request
3
- include RubyForGrafanaLoki:: Connection
2
+ module Request
3
+ include RubyForGrafanaLoki:: Connection
4
4
 
5
- def post(url, payload)
6
- respond_with(
7
- connection.post url, payload
8
- )
9
- end
5
+ def post(url, payload)
6
+ respond_with(
7
+ connection.post url, payload
8
+ )
9
+ end
10
10
 
11
- private
12
- def respond_with(response)
13
- if response.success?
14
- puts 'Log sent successfully to Loki.'
15
- puts "Response code: #{response.status}, Response body: #{response.body}"
16
- body = response.body.empty? ? response.body : JSON.parse(response.body)
17
- puts body
18
- else
19
- puts "Failed to send log to Loki. Response code: #{response.status}, Response body: #{response.body}"
20
- end
21
- end
22
-
23
- def get(path)
24
- respond_with(
25
- connection.get(path)
26
- )
27
- end
28
- end
11
+ private
12
+ def respond_with(response)
13
+ if response.success?
14
+ puts 'Log sent successfully to Loki.'
15
+ puts "Response code: #{response.status}, Response body: #{response.body}"
16
+ body = response.body.empty? ? response.body : JSON.parse(response.body)
17
+ puts body
18
+ else
19
+ puts "Failed to send log to Loki. Response code: #{response.status}, Response body: #{response.body}"
20
+ end
21
+ end
22
+ def get(path)
23
+ respond_with(
24
+ connection.get(path)
25
+ )
26
+ end
27
+ end
29
28
  end
@@ -1,3 +1,3 @@
1
1
  module RubyForGrafanaLoki
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_for_grafana_loki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Ten
@@ -54,7 +54,7 @@ files:
54
54
  - lib/ruby_for_grafana_loki/query.rb
55
55
  - lib/ruby_for_grafana_loki/request.rb
56
56
  - lib/ruby_for_grafana_loki/version.rb
57
- homepage: https://rubygems.org/gems/ruby_for_grafana_loki
57
+ homepage: https://github.com/tennet0505/31github/tree/main/ruby_for_grafana_loki
58
58
  licenses:
59
59
  - MIT
60
60
  metadata: {}