logtail-rails 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/main.yml +144 -0
- data/.gitignore +23 -0
- data/.rspec +3 -0
- data/Gemfile +3 -0
- data/LICENSE.md +13 -0
- data/README.md +10 -0
- data/Rakefile +6 -0
- data/gemfiles/rails-3.0.gemfile +8 -0
- data/gemfiles/rails-3.1.gemfile +8 -0
- data/gemfiles/rails-3.2.gemfile +8 -0
- data/gemfiles/rails-4.0.gemfile +12 -0
- data/gemfiles/rails-4.1.gemfile +12 -0
- data/gemfiles/rails-4.2.gemfile +12 -0
- data/gemfiles/rails-5.0.gemfile +12 -0
- data/gemfiles/rails-5.1.gemfile +12 -0
- data/gemfiles/rails-5.2.gemfile +12 -0
- data/gemfiles/rails-6.0.gemfile +12 -0
- data/gemfiles/rails-6.1.gemfile +12 -0
- data/gemfiles/rails-edge.gemfile +10 -0
- data/lib/logtail-rails.rb +64 -0
- data/lib/logtail-rails/action_controller.rb +17 -0
- data/lib/logtail-rails/action_controller/log_subscriber.rb +25 -0
- data/lib/logtail-rails/action_controller/log_subscriber/logtail_log_subscriber.rb +46 -0
- data/lib/logtail-rails/action_dispatch.rb +20 -0
- data/lib/logtail-rails/action_dispatch/debug_exceptions.rb +51 -0
- data/lib/logtail-rails/action_view.rb +17 -0
- data/lib/logtail-rails/action_view/log_subscriber.rb +25 -0
- data/lib/logtail-rails/action_view/log_subscriber/logtail_log_subscriber.rb +84 -0
- data/lib/logtail-rails/active_record.rb +17 -0
- data/lib/logtail-rails/active_record/log_subscriber.rb +20 -0
- data/lib/logtail-rails/active_record/log_subscriber/logtail_log_subscriber.rb +52 -0
- data/lib/logtail-rails/active_support_log_subscriber.rb +39 -0
- data/lib/logtail-rails/config.rb +12 -0
- data/lib/logtail-rails/config/action_controller.rb +29 -0
- data/lib/logtail-rails/config/action_view.rb +29 -0
- data/lib/logtail-rails/config/active_record.rb +29 -0
- data/lib/logtail-rails/error_event.rb +62 -0
- data/lib/logtail-rails/logger.rb +20 -0
- data/lib/logtail-rails/overrides.rb +12 -0
- data/lib/logtail-rails/overrides/active_support_3_tagged_logging.rb +111 -0
- data/lib/logtail-rails/overrides/active_support_buffered_logger.rb +22 -0
- data/lib/logtail-rails/overrides/active_support_tagged_logging.rb +66 -0
- data/lib/logtail-rails/overrides/lograge.rb +18 -0
- data/lib/logtail-rails/overrides/rails_stdout_logging.rb +20 -0
- data/lib/logtail-rails/rack_logger.rb +59 -0
- data/lib/logtail-rails/railtie.rb +27 -0
- data/lib/logtail-rails/session_context.rb +37 -0
- data/lib/logtail-rails/version.rb +7 -0
- data/logtail-rails.gemspec +60 -0
- metadata +263 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: bb92429187fc50aa6622a0cc2cccf5d177819012e62a2fb952a8dd587ee2fb55
|
4
|
+
data.tar.gz: 4afe93789eac96a479ecfa54ca99752936bf2387bd17f0699254fa8ecef62cc0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c5be83553b8850cb86ae68858862ec1d5055a7fd8d07f310764e8da66fe0752a1deaa7d4459c04436b238351e9e4a9fd801ef93dcd751d4d7c35a2ff8d131b52
|
7
|
+
data.tar.gz: 483a2803fd7a1d1fe9bb9a4f078161ac4236439dd2caa376859a94eeb0a7b996e035a620d96e3b98a9e003209b912bc0e6812da6f7f0698bbb54ed59cf9638e7
|
@@ -0,0 +1,144 @@
|
|
1
|
+
name: build
|
2
|
+
|
3
|
+
on: [ push, pull_request ]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
runs-on: ubuntu-20.04
|
8
|
+
|
9
|
+
strategy:
|
10
|
+
fail-fast: false
|
11
|
+
|
12
|
+
matrix:
|
13
|
+
ruby-version:
|
14
|
+
- 3.0.0
|
15
|
+
- 2.7.2
|
16
|
+
- 2.6.6
|
17
|
+
- 2.5.8
|
18
|
+
- 2.4.10
|
19
|
+
- 2.3.8
|
20
|
+
- 2.2.10
|
21
|
+
- jruby-9.2.14.0
|
22
|
+
- truffleruby-21.0.0
|
23
|
+
gemfile:
|
24
|
+
- rails-edge
|
25
|
+
- rails-6.1
|
26
|
+
- rails-6.0
|
27
|
+
- rails-5.2
|
28
|
+
- rails-5.1
|
29
|
+
- rails-5.0
|
30
|
+
exclude:
|
31
|
+
- gemfile: rails-edge
|
32
|
+
ruby-version: 2.6.6
|
33
|
+
- gemfile: rails-edge
|
34
|
+
ruby-version: 2.5.8
|
35
|
+
- gemfile: rails-edge
|
36
|
+
ruby-version: 2.4.10
|
37
|
+
- gemfile: rails-edge
|
38
|
+
ruby-version: 2.3.8
|
39
|
+
- gemfile: rails-edge
|
40
|
+
ruby-version: 2.2.10
|
41
|
+
- gemfile: rails-edge
|
42
|
+
ruby-version: jruby-9.2.14.0
|
43
|
+
- gemfile: rails-edge
|
44
|
+
ruby-version: truffleruby-21.0.0
|
45
|
+
|
46
|
+
- ruby-version: 3.0.0
|
47
|
+
gemfile: rails-5.2
|
48
|
+
- ruby-version: 3.0.0
|
49
|
+
gemfile: rails-5.1
|
50
|
+
- ruby-version: 3.0.0
|
51
|
+
gemfile: rails-5.0
|
52
|
+
|
53
|
+
- gemfile: rails-6.1
|
54
|
+
ruby-version: 2.4.10
|
55
|
+
- gemfile: rails-6.1
|
56
|
+
ruby-version: 2.3.8
|
57
|
+
- gemfile: rails-6.1
|
58
|
+
ruby-version: 2.2.10
|
59
|
+
- gemfile: rails-6.1
|
60
|
+
ruby-version: 2.2.10
|
61
|
+
|
62
|
+
- gemfile: rails-6.0
|
63
|
+
ruby-version: 2.4.10
|
64
|
+
- gemfile: rails-6.0
|
65
|
+
ruby-version: 2.3.8
|
66
|
+
- gemfile: rails-6.0
|
67
|
+
ruby-version: 2.2.10
|
68
|
+
|
69
|
+
- gemfile: rails-5.2
|
70
|
+
ruby-version: 2.2.10
|
71
|
+
|
72
|
+
env:
|
73
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
74
|
+
RAILS_ENV: test
|
75
|
+
|
76
|
+
steps:
|
77
|
+
- uses: actions/checkout@v2
|
78
|
+
|
79
|
+
- name: Selected Gemfile
|
80
|
+
run: echo $BUNDLE_GEMFILE
|
81
|
+
|
82
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
83
|
+
uses: ruby/setup-ruby@v1
|
84
|
+
with:
|
85
|
+
ruby-version: ${{ matrix.ruby-version }}
|
86
|
+
bundler-cache: true
|
87
|
+
|
88
|
+
- name: Run tests
|
89
|
+
run: bundle exec rspec --format documentation
|
90
|
+
|
91
|
+
|
92
|
+
test_bundler_v1:
|
93
|
+
runs-on: ubuntu-20.04
|
94
|
+
|
95
|
+
strategy:
|
96
|
+
fail-fast: false
|
97
|
+
|
98
|
+
matrix:
|
99
|
+
ruby-version:
|
100
|
+
- 2.6.6
|
101
|
+
- 2.5.8
|
102
|
+
- 2.4.10
|
103
|
+
- 2.3.8
|
104
|
+
- 2.2.10
|
105
|
+
gemfile:
|
106
|
+
- rails-4.2
|
107
|
+
- rails-4.1
|
108
|
+
- rails-4.0
|
109
|
+
- rails-3.2
|
110
|
+
|
111
|
+
exclude:
|
112
|
+
- gemfile: rails-4.1
|
113
|
+
ruby-version: 2.6.6
|
114
|
+
- gemfile: rails-4.1
|
115
|
+
ruby-version: 2.5.8
|
116
|
+
- gemfile: rails-4.1
|
117
|
+
ruby-version: 2.4.10
|
118
|
+
|
119
|
+
- gemfile: rails-4.0
|
120
|
+
ruby-version: 2.6.6
|
121
|
+
- gemfile: rails-4.0
|
122
|
+
ruby-version: 2.5.8
|
123
|
+
- gemfile: rails-4.0
|
124
|
+
ruby-version: 2.4.10
|
125
|
+
|
126
|
+
env:
|
127
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
128
|
+
RAILS_ENV: test
|
129
|
+
|
130
|
+
steps:
|
131
|
+
- uses: actions/checkout@v2
|
132
|
+
|
133
|
+
- name: Selected Gemfile
|
134
|
+
run: echo $BUNDLE_GEMFILE
|
135
|
+
|
136
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
137
|
+
uses: ruby/setup-ruby@v1
|
138
|
+
with:
|
139
|
+
bundler: 1.17
|
140
|
+
ruby-version: ${{ matrix.ruby-version }}
|
141
|
+
bundler-cache: true
|
142
|
+
|
143
|
+
- name: Run tests
|
144
|
+
run: bundle exec rspec --format documentation
|
data/.gitignore
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
/doc/
|
2
|
+
/pkg/
|
3
|
+
/spec/reports/
|
4
|
+
/tmp/
|
5
|
+
|
6
|
+
# rspec failure tracking
|
7
|
+
.rspec_status
|
8
|
+
.DS_Store
|
9
|
+
.rvmrc
|
10
|
+
.ruby-version
|
11
|
+
coverage
|
12
|
+
Gemfile.lock
|
13
|
+
*.swp
|
14
|
+
*.gem
|
15
|
+
|
16
|
+
gemfiles/*.lock
|
17
|
+
|
18
|
+
/.bundle
|
19
|
+
/.yardoc
|
20
|
+
/doc
|
21
|
+
/log
|
22
|
+
/tmp
|
23
|
+
/pkg
|
data/.rspec
ADDED
data/Gemfile
ADDED
data/LICENSE.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# License
|
2
|
+
|
3
|
+
Copyright (c) 2021, Logtail
|
4
|
+
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,
|
6
|
+
provided that the above copyright notice and this permission notice appear in all copies.
|
7
|
+
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
9
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
10
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
11
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
12
|
+
THIS SOFTWARE.
|
13
|
+
|
data/README.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# 🪵 Logtail Integration For Rails
|
2
|
+
|
3
|
+
[![ISC License](https://img.shields.io/badge/license-ISC-ff69b4.svg)](LICENSE.md)
|
4
|
+
[![Build Status](https://github.com/logtail/logtail-ruby-rails/workflows/build/badge.svg)](https://github.com/logtail/logtail-ruby-rails/actions?query=workflow%3Abuild)
|
5
|
+
|
6
|
+
This library integrates the [`logtail` Ruby library](https://github.com/logtail/logtail-ruby) with
|
7
|
+
the [rails](https://github.com/rails/rails) framework, turning your rails logs into rich structured events.
|
8
|
+
|
9
|
+
* **Sign-up: [https://logtail.com](https://logtail.com)**
|
10
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'rack', git: 'https://github.com/rack/rack', branch: 'master'
|
4
|
+
gem 'arel', git: 'https://github.com/rails/arel', branch: 'master'
|
5
|
+
gem 'rails', git: 'https://github.com/rails/rails', branch: 'main'
|
6
|
+
|
7
|
+
gem 'logtail-ruby'
|
8
|
+
gem 'logtail-rack'
|
9
|
+
|
10
|
+
gemspec :path => '../'
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require "logtail-rails/overrides"
|
2
|
+
|
3
|
+
require "logtail"
|
4
|
+
require "rails"
|
5
|
+
require "logtail-rails/active_support_log_subscriber"
|
6
|
+
require "logtail-rails/config"
|
7
|
+
require "logtail-rails/railtie"
|
8
|
+
|
9
|
+
require "logtail-rack/http_context"
|
10
|
+
require "logtail-rack/http_events"
|
11
|
+
require "logtail-rack/user_context"
|
12
|
+
require "logtail-rails/session_context"
|
13
|
+
require "logtail-rails/rack_logger"
|
14
|
+
require "logtail-rails/error_event"
|
15
|
+
|
16
|
+
require "logtail-rails/action_controller"
|
17
|
+
require "logtail-rails/action_dispatch"
|
18
|
+
require "logtail-rails/action_view"
|
19
|
+
require "logtail-rails/active_record"
|
20
|
+
|
21
|
+
require "logtail-rails/logger"
|
22
|
+
|
23
|
+
module Logtail
|
24
|
+
module Integrations
|
25
|
+
# Module for holding *all* Rails integrations. This module does *not*
|
26
|
+
# extend {Integration} because it's dependent on {Rack::HTTPEvents}. This
|
27
|
+
# module simply disables the default HTTP request logging.
|
28
|
+
module Rails
|
29
|
+
def self.enabled?
|
30
|
+
Logtail::Integrations::Rack::HTTPEvents.enabled?
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.integrate!
|
34
|
+
return false if !enabled?
|
35
|
+
|
36
|
+
ActionController.integrate!
|
37
|
+
ActionDispatch.integrate!
|
38
|
+
ActionView.integrate!
|
39
|
+
ActiveRecord.integrate!
|
40
|
+
RackLogger.integrate!
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.enabled=(value)
|
44
|
+
Logtail::Integrations::Rails::ErrorEvent.enabled = value
|
45
|
+
Logtail::Integrations::Rack::HTTPContext.enabled = value
|
46
|
+
Logtail::Integrations::Rack::HTTPEvents.enabled = value
|
47
|
+
Logtail::Integrations::Rack::UserContext.enabled = value
|
48
|
+
SessionContext.enabled = value
|
49
|
+
|
50
|
+
ActionController.enabled = value
|
51
|
+
ActionView.enabled = value
|
52
|
+
ActiveRecord.enabled = value
|
53
|
+
end
|
54
|
+
|
55
|
+
# All enabled middlewares. The order is relevant. Middlewares that set
|
56
|
+
# context are added first so that context is included in subsequent log lines.
|
57
|
+
def self.middlewares
|
58
|
+
@middlewares ||= [Logtail::Integrations::Rack::HTTPContext, SessionContext, Logtail::Integrations::Rack::UserContext,
|
59
|
+
Logtail::Integrations::Rack::HTTPEvents, Logtail::Integrations::Rails::ErrorEvent].select(&:enabled?)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|