researchable_loggable 1.3.1 → 1.4.0

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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/Gemfile +0 -1
  4. data/Gemfile.lock +1 -4
  5. data/lib/loggable/logfmt/logger.rb +86 -0
  6. data/lib/loggable/railtie.rb +18 -12
  7. data/lib/loggable/version.rb +1 -1
  8. data/lib/researchable_loggable.rb +1 -2
  9. metadata +6 -120
  10. data/lib/loggable/ecs_logging/formatter_monkey_patch.rb +0 -55
  11. data/lib/loggable/lograge/formatter.rb +0 -22
  12. data/node_modules/semantic-release-rubygem/src/__tests__/fixtures/invalid-version-file/lib/test-gem/version.rb +0 -5
  13. data/node_modules/semantic-release-rubygem/src/__tests__/fixtures/prerelease/lib/test-gem/version.rb +0 -5
  14. data/node_modules/semantic-release-rubygem/src/__tests__/fixtures/valid/lib/test-gem/version.rb +0 -5
  15. data/vendor/ruby/ruby/3.2.0/gems/actionpack-7.0.4.2/lib/action_pack/version.rb +0 -10
  16. data/vendor/ruby/ruby/3.2.0/gems/actionview-7.0.4.2/lib/action_view/version.rb +0 -10
  17. data/vendor/ruby/ruby/3.2.0/gems/activesupport-7.0.4.2/lib/active_support/version.rb +0 -10
  18. data/vendor/ruby/ruby/3.2.0/gems/builder-3.2.4/lib/builder/version.rb +0 -9
  19. data/vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +0 -3
  20. data/vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +0 -3
  21. data/vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/thor/lib/thor/version.rb +0 -3
  22. data/vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/uri/lib/uri/version.rb +0 -6
  23. data/vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/version.rb +0 -13
  24. data/vendor/ruby/ruby/3.2.0/gems/concurrent-ruby-1.2.0/lib/concurrent-ruby/concurrent/version.rb +0 -3
  25. data/vendor/ruby/ruby/3.2.0/gems/crass-1.0.6/lib/crass/version.rb +0 -5
  26. data/vendor/ruby/ruby/3.2.0/gems/ecs-logging-1.0.0/lib/ecs_logging/version.rb +0 -22
  27. data/vendor/ruby/ruby/3.2.0/gems/googleapis-common-protos-types-1.15.0/lib/googleapis/common/protos/types/version.rb +0 -23
  28. data/vendor/ruby/ruby/3.2.0/gems/i18n-1.12.0/lib/i18n/version.rb +0 -5
  29. data/vendor/ruby/ruby/3.2.0/gems/lograge-0.12.0/lib/lograge/version.rb +0 -5
  30. data/vendor/ruby/ruby/3.2.0/gems/loofah-2.19.1/lib/loofah/version.rb +0 -5
  31. data/vendor/ruby/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/version.rb +0 -3
  32. data/vendor/ruby/ruby/3.2.0/gems/nokogiri-1.14.1-x86_64-linux/lib/nokogiri/version.rb +0 -4
  33. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-api-1.3.0/lib/opentelemetry/version.rb +0 -10
  34. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-common-0.21.0/lib/opentelemetry/common/version.rb +0 -11
  35. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-exporter-otlp-0.28.1/lib/opentelemetry/exporter/otlp/version.rb +0 -14
  36. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-helpers-mysql-0.1.1/lib/opentelemetry/helpers/mysql/version.rb +0 -13
  37. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-helpers-sql-obfuscation-0.2.0/lib/opentelemetry/helpers/sql_obfuscation/version.rb +0 -13
  38. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-action_mailer-0.1.0/lib/opentelemetry/instrumentation/action_mailer/version.rb +0 -13
  39. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-action_pack-0.9.0/lib/opentelemetry/instrumentation/action_pack/version.rb +0 -13
  40. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-action_view-0.7.3/lib/opentelemetry/instrumentation/action_view/version.rb +0 -13
  41. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_job-0.7.7/lib/opentelemetry/instrumentation/active_job/version.rb +0 -13
  42. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_model_serializers-0.20.2/lib/opentelemetry/instrumentation/active_model_serializers/version.rb +0 -13
  43. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_record-0.7.4/lib/opentelemetry/instrumentation/active_record/version.rb +0 -13
  44. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_support-0.6.0/lib/opentelemetry/instrumentation/active_support/version.rb +0 -13
  45. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-all-0.63.0/lib/opentelemetry/instrumentation/all/version.rb +0 -13
  46. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-aws_lambda-0.1.1/lib/opentelemetry/instrumentation/aws_lambda/version.rb +0 -13
  47. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-aws_sdk-0.5.4/lib/opentelemetry/instrumentation/aws_sdk/version.rb +0 -13
  48. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-base-0.22.6/lib/opentelemetry/instrumentation/version.rb +0 -11
  49. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-bunny-0.21.4/lib/opentelemetry/instrumentation/bunny/version.rb +0 -13
  50. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-concurrent_ruby-0.21.4/lib/opentelemetry/instrumentation/concurrent_ruby/version.rb +0 -13
  51. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-dalli-0.25.4/lib/opentelemetry/instrumentation/dalli/version.rb +0 -13
  52. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-delayed_job-0.22.4/lib/opentelemetry/instrumentation/delayed_job/version.rb +0 -13
  53. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-ethon-0.21.8/lib/opentelemetry/instrumentation/ethon/version.rb +0 -13
  54. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-excon-0.22.4/lib/opentelemetry/instrumentation/excon/version.rb +0 -13
  55. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-faraday-0.24.6/lib/opentelemetry/instrumentation/faraday/version.rb +0 -13
  56. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-grape-0.2.0/lib/opentelemetry/instrumentation/grape/version.rb +0 -14
  57. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-graphql-0.28.4/lib/opentelemetry/instrumentation/graphql/version.rb +0 -13
  58. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-gruf-0.2.1/lib/opentelemetry/instrumentation/gruf/version.rb +0 -13
  59. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-http-0.23.4/lib/opentelemetry/instrumentation/http/version.rb +0 -13
  60. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-http_client-0.22.7/lib/opentelemetry/instrumentation/http_client/version.rb +0 -13
  61. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-koala-0.20.5/lib/opentelemetry/instrumentation/koala/version.rb +0 -13
  62. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-lmdb-0.22.3/lib/opentelemetry/instrumentation/lmdb/version.rb +0 -13
  63. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-mongo-0.22.4/lib/opentelemetry/instrumentation/mongo/version.rb +0 -13
  64. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-mysql2-0.27.2/lib/opentelemetry/instrumentation/mysql2/version.rb +0 -13
  65. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-net_http-0.22.7/lib/opentelemetry/instrumentation/net/http/version.rb +0 -15
  66. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-pg-0.28.0/lib/opentelemetry/instrumentation/pg/version.rb +0 -13
  67. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-que-0.8.4/lib/opentelemetry/instrumentation/que/version.rb +0 -13
  68. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-racecar-0.3.4/lib/opentelemetry/instrumentation/racecar/version.rb +0 -13
  69. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rack-0.24.6/lib/opentelemetry/instrumentation/rack/version.rb +0 -13
  70. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rails-0.31.2/lib/opentelemetry/instrumentation/rails/version.rb +0 -13
  71. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rake-0.2.2/lib/opentelemetry/instrumentation/rake/version.rb +0 -13
  72. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rdkafka-0.4.8/lib/opentelemetry/instrumentation/rdkafka/version.rb +0 -13
  73. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-redis-0.25.7/lib/opentelemetry/instrumentation/redis/version.rb +0 -13
  74. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-resque-0.5.2/lib/opentelemetry/instrumentation/resque/version.rb +0 -13
  75. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-restclient-0.22.7/lib/opentelemetry/instrumentation/restclient/version.rb +0 -13
  76. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-ruby_kafka-0.21.3/lib/opentelemetry/instrumentation/ruby_kafka/version.rb +0 -13
  77. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-sidekiq-0.25.7/lib/opentelemetry/instrumentation/sidekiq/version.rb +0 -13
  78. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-sinatra-0.24.1/lib/opentelemetry/instrumentation/sinatra/version.rb +0 -13
  79. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-trilogy-0.59.3/lib/opentelemetry/instrumentation/trilogy/version.rb +0 -13
  80. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-registry-0.3.1/lib/opentelemetry/instrumentation/registry/version.rb +0 -13
  81. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-sdk-1.5.0/lib/opentelemetry/sdk/version.rb +0 -12
  82. data/vendor/ruby/ruby/3.2.0/gems/opentelemetry-semantic_conventions-1.10.1/lib/opentelemetry/semantic_conventions/version.rb +0 -11
  83. data/vendor/ruby/ruby/3.2.0/gems/parallel-1.22.1/lib/parallel/version.rb +0 -4
  84. data/vendor/ruby/ruby/3.2.0/gems/parser-3.2.1.1/lib/parser/version.rb +0 -5
  85. data/vendor/ruby/ruby/3.2.0/gems/rack-2.2.6.2/lib/rack/version.rb +0 -29
  86. data/vendor/ruby/ruby/3.2.0/gems/rack-test-2.0.2/lib/rack/test/version.rb +0 -5
  87. data/vendor/ruby/ruby/3.2.0/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/version.rb +0 -7
  88. data/vendor/ruby/ruby/3.2.0/gems/rails-html-sanitizer-1.5.0/lib/rails/html/sanitizer/version.rb +0 -7
  89. data/vendor/ruby/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/version.rb +0 -10
  90. data/vendor/ruby/ruby/3.2.0/gems/rainbow-3.1.1/lib/rainbow/version.rb +0 -5
  91. data/vendor/ruby/ruby/3.2.0/gems/rake-13.0.6/lib/rake/version.rb +0 -10
  92. data/vendor/ruby/ruby/3.2.0/gems/regexp_parser-2.7.0/lib/regexp_parser/version.rb +0 -5
  93. data/vendor/ruby/ruby/3.2.0/gems/request_store-1.5.1/lib/request_store/version.rb +0 -3
  94. data/vendor/ruby/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec/version.rb +0 -5
  95. data/vendor/ruby/ruby/3.2.0/gems/rspec-core-3.12.1/lib/rspec/core/version.rb +0 -9
  96. data/vendor/ruby/ruby/3.2.0/gems/rspec-expectations-3.12.2/lib/rspec/expectations/version.rb +0 -8
  97. data/vendor/ruby/ruby/3.2.0/gems/rspec-mocks-3.12.3/lib/rspec/mocks/version.rb +0 -9
  98. data/vendor/ruby/ruby/3.2.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb +0 -7
  99. data/vendor/ruby/ruby/3.2.0/gems/rubocop-1.23.0/lib/rubocop/cli/command/version.rb +0 -18
  100. data/vendor/ruby/ruby/3.2.0/gems/rubocop-1.23.0/lib/rubocop/version.rb +0 -85
  101. data/vendor/ruby/ruby/3.2.0/gems/rubocop-ast-1.27.0/lib/rubocop/ast/version.rb +0 -9
  102. data/vendor/ruby/ruby/3.2.0/gems/rubocop-performance-1.12.0/lib/rubocop/performance/version.rb +0 -14
  103. data/vendor/ruby/ruby/3.2.0/gems/rubocop-rails-2.12.4/lib/rubocop/rails/version.rb +0 -14
  104. data/vendor/ruby/ruby/3.2.0/gems/rubocop-rake-0.6.0/lib/rubocop/rake/version.rb +0 -7
  105. data/vendor/ruby/ruby/3.2.0/gems/rubocop-rspec-2.6.0/lib/rubocop/rspec/version.rb +0 -10
  106. data/vendor/ruby/ruby/3.2.0/gems/ruboguide-1.0.0/lib/ruboguide/version.rb +0 -5
  107. data/vendor/ruby/ruby/3.2.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/version.rb +0 -3
  108. data/vendor/ruby/ruby/3.2.0/gems/thor-1.2.1/lib/thor/version.rb +0 -3
  109. data/vendor/ruby/ruby/3.2.0/gems/tzinfo-2.0.6/lib/tzinfo/version.rb +0 -7
  110. data/vendor/ruby/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/version.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5fe5ffbeff35ebd66ff13d1e846b709146ca5e2c60b940db355550ebd73e4296
4
- data.tar.gz: 34b3aaad1e4a56831893b29b57643797f5f256bea4cb0787a8f9ff66e2dc1bdc
3
+ metadata.gz: 4b80bc8fef9e875582f653226ef7bcc8f2bf01c44b7befba142694842800026f
4
+ data.tar.gz: 55cd5ef8ca78c68dd4e25ebc1cd7e68627f1871d4a2d0f646267a41ab8cab623
5
5
  SHA512:
6
- metadata.gz: c3c7d6854c90271dfc8843c4bf05b8558bf23569bdefef96ffbf272e6253588384dbc85d1f9dfe532defcb2b692691ea5bd936685a139732bb597499d5a945c4
7
- data.tar.gz: ca852ff5ce276a1033966a881a2273b202c76e27eb7dd0c0b513b13460b93af1d2eab8dee98bfd522f819b94f461c9171ffad893eab6a57a18235922516da35a
6
+ metadata.gz: 5f7821133b81bd0e363fea979048ef084e602860f83a558ed1d923b93f17950855dbc041ddc1eb314eeedfae03fdb8ed88319d4ea589439d4f8d5754c6ac86da
7
+ data.tar.gz: 1482b7dd44efb2a1177aabccd50f0f3ffb888e0af4448fc4ce27871ee93daf1648e745572f501a4770e42e7b571cd66c9088e7523d17534133362a2735a04dc9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # [1.4.0](https://gitlab.com/researchable/general/gems/loggable/compare/v1.3.1...v1.4.0) (2024-11-29)
2
+
3
+
4
+ ### Features
5
+
6
+ * add trace and span id ([6e486e0](https://gitlab.com/researchable/general/gems/loggable/commit/6e486e03f7bef1ecf739195d80472f3cf3c2b7f6))
7
+ * replace ecs logging format to logfmt ([19eb571](https://gitlab.com/researchable/general/gems/loggable/commit/19eb571719ed294fed4f94094c091c76470cae53))
8
+
1
9
  ## [1.3.1](https://gitlab.com/researchable/general/gems/loggable/compare/v1.3.0...v1.3.1) (2024-11-26)
2
10
 
3
11
 
data/Gemfile CHANGED
@@ -11,7 +11,6 @@ gem 'rspec', '~> 3.0'
11
11
 
12
12
  gem 'ruboguide', '~> 1.0'
13
13
 
14
- gem 'ecs-logging', '~> 1.0'
15
14
  gem 'lograge'
16
15
  gem 'logstash-event'
17
16
 
data/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- researchable_loggable (1.2.0)
5
- ecs-logging (~> 1.0)
4
+ researchable_loggable (1.3.1)
6
5
  lograge
7
6
  logstash-event
8
7
  opentelemetry-exporter-otlp (~> 0.28)
@@ -36,7 +35,6 @@ GEM
36
35
  concurrent-ruby (1.2.0)
37
36
  crass (1.0.6)
38
37
  diff-lcs (1.5.0)
39
- ecs-logging (1.0.0)
40
38
  erubi (1.12.0)
41
39
  google-protobuf (4.27.4-x86_64-linux)
42
40
  bigdecimal
@@ -335,7 +333,6 @@ PLATFORMS
335
333
  x86_64-linux
336
334
 
337
335
  DEPENDENCIES
338
- ecs-logging (~> 1.0)
339
336
  lograge
340
337
  logstash-event
341
338
  opentelemetry-exporter-otlp (~> 0.28)
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'logger'
4
+ require 'time'
5
+ require 'active_support/logger_silence'
6
+
7
+ module Loggable
8
+ module Logfmt
9
+ # A structured logger that formats log messages in a key-value style using Logfmt formatting
10
+ # This has been adapted from https://github.com/cyberdelia/logfmt-ruby/
11
+ class Logger < ::Logger
12
+ def initialize(*args, **kwargs)
13
+ super
14
+ @formatter ||= KeyValueFormatter.new
15
+ end
16
+
17
+ # Include the LoggerSilence module to fix the incompatibility with ActiveSupport::LoggerSilence whe
18
+ # Rails.application.config.assets.quiet option is set to true, but do not include the module for the
19
+ # test environment as it causes issues with ActiveSupport::LoggerThreadSafeLevel::IsolatedExecutionState.
20
+ def self.include_logger_silence
21
+ include ActiveSupport::LoggerSilence
22
+ end
23
+
24
+ # Custom formatter class that renders logs as in a key-value style using Logfmt formatting
25
+ class KeyValueFormatter < ::Logger::Formatter
26
+ def call(severity, timestamp, progname, msg)
27
+ %(time=#{datetime(timestamp)} severity=#{severity.ljust(5)}#{progname(progname)} #{message(msg)}\n)
28
+ end
29
+
30
+ private
31
+
32
+ def datetime(time)
33
+ time.utc.iso8601(3)
34
+ end
35
+
36
+ def message(msg)
37
+ return unless msg
38
+
39
+ if msg.respond_to?(:to_hash)
40
+ pairs = msg.to_hash.map { |k, v| format_pair(k, v) }
41
+ pairs.compact.join(' ')
42
+ else
43
+ format_pair('message', msg)
44
+ end
45
+ end
46
+
47
+ def format_pair(key, value)
48
+ return nil if value.nil?
49
+
50
+ # Return a bare key when the value is a `TrueClass`
51
+ return key if value == true
52
+
53
+ "#{key}=#{format_value(value)}"
54
+ end
55
+
56
+ def progname(progname)
57
+ return nil unless progname
58
+
59
+ # Format this pair like any other to ensure quoting, escaping, etc…,
60
+ # But we also need a leading space so we can interpolate the resulting
61
+ # key/value pair into our log line.
62
+ " #{format_pair(' progname', progname)}"
63
+ end
64
+
65
+ def format_value(value)
66
+ if value.is_a?(Float)
67
+ format('%.3f', value)
68
+ elsif value.is_a?(Time)
69
+ datetime(value)
70
+ elsif value.respond_to?(:to_ary)
71
+ format_value(
72
+ "[#{Array(value).map { |v| format_value(v) }.join(', ')}]"
73
+ )
74
+ else
75
+ # Interpolating due to a weird/subtle behaviour possible in #to_s.
76
+ # Namely, it's possible it doesn't actually return a String:
77
+ # https://github.com/ruby/spec/blob/3affe1e54fcd11918a242ad5d4a7ba895ee30c4c/language/string_spec.rb#L130-L141
78
+ value = "#{value}" # rubocop:disable Style/RedundantInterpolation
79
+ value = value.dump if value.match?(/[[:space:]]|[[:cntrl:]]/) # wrap in quotes and escape control characters
80
+ value
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ecs_logging/logger'
3
+ require 'lograge'
4
4
  require 'rails'
5
+ require 'opentelemetry/sdk'
5
6
 
6
7
  module Loggable
7
8
  # Railtie to configure logging before rails starts
@@ -12,13 +13,14 @@ module Loggable
12
13
  config.loggable.current_user_method = :current_user
13
14
 
14
15
  # Initializer runs before initialize_logger (found in Bootstrap) so from the very beginning we are logging using
15
- # the ecs format, even during the initialization process
16
+ # the logfmt format, even during the initialization process
16
17
  # rubocop:disable Metrics/BlockLength
17
18
  initializer :loggable_web, before: :initialize_logger do
18
19
  Rails.application.configure do
19
20
  production_like = Rails.env.production? || config.loggable.production_like
20
21
  if production_like
21
- Rails.logger = ::EcsLogging::Logger.new($stdout)
22
+ Loggable::Logfmt::Logger.include_logger_silence if Rails.application.config.assets.quiet
23
+ Rails.logger = Loggable::Logfmt::Logger.new($stdout)
22
24
  Rails.logger.level = ActiveSupport::Logger.const_get(config.log_level.to_s.upcase || 'INFO')
23
25
 
24
26
  Loggable::OpenTelemetryConfig.configure(Rails.application.class.module_parent_name.underscore.dasherize)
@@ -32,22 +34,26 @@ module Loggable
32
34
  if controller.respond_to?(config.loggable.current_user_method)
33
35
  user_id = controller.send(config.loggable.current_user_method).try(:id)
34
36
  end
37
+
35
38
  {
36
- ecs: {
37
- 'source.ip': controller.request.ip,
38
- 'user.id': user_id,
39
- 'http.code': response_code
40
- },
41
- status: response_code
39
+ 'source.ip': controller.request.ip,
40
+ 'user.id': user_id,
41
+ status: response_code,
42
+ span_id: OpenTelemetry::Trace.current_span.context.hex_span_id,
43
+ trace_id: OpenTelemetry::Trace.current_span.context.hex_trace_id
42
44
  }
43
45
  end
44
46
  config.lograge.custom_options = lambda do |event|
45
47
  return if event.payload[:params].blank?
46
48
 
47
49
  exceptions = %w[controller action format id]
48
- { params: event.payload[:params].except(*exceptions) }
50
+ params = event.payload[:params].except(*exceptions)
51
+ # append a suffix to each param
52
+ params.each_with_object({}) do |(key, value), result|
53
+ result["params.#{key}"] = value
54
+ end
49
55
  end
50
- config.lograge.formatter = Loggable::Lograge::Formatter.new if production_like
56
+ config.lograge.formatter = ::Lograge::Formatters::Raw.new
51
57
  end
52
58
  end
53
59
  # rubocop:enable Metrics/BlockLength
@@ -56,7 +62,7 @@ module Loggable
56
62
  Rails.application.configure do
57
63
  if defined?(Delayed::Worker)
58
64
  if Rails.env.production? || config.loggable.production_like
59
- Delayed::Worker.logger = ::EcsLogging::Logger.new($stdout)
65
+ Delayed::Worker.logger = Loggable::Logfmt::Logger.new($stdout)
60
66
  Delayed::Worker.logger.level = ActiveSupport::Logger.const_get(config.log_level.to_s.upcase || 'INFO')
61
67
  Loggable::OpenTelemetryConfig.configure("#{Rails.application.class.module_parent_name.underscore.dasherize}
62
68
  -worker")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Loggable
4
- VERSION = '1.3.1'
4
+ VERSION = '1.4.0'
5
5
  end
@@ -3,8 +3,7 @@
3
3
  require_relative 'loggable/version'
4
4
  require_relative 'loggable/railtie' if defined?(Rails::Railtie)
5
5
  require_relative 'loggable/opentelemetry_config'
6
- require_relative 'loggable/ecs_logging/formatter_monkey_patch'
7
- require_relative 'loggable/lograge/formatter'
6
+ require_relative 'loggable/logfmt/logger'
8
7
 
9
8
  module ResearchableLoggable
10
9
  class Error < StandardError
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: researchable_loggable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Researchable
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-26 00:00:00.000000000 Z
11
+ date: 2024-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: ecs-logging
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: lograge
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -114,119 +100,19 @@ files:
114
100
  - LICENSE.txt
115
101
  - README.md
116
102
  - Rakefile
117
- - lib/loggable/ecs_logging/formatter_monkey_patch.rb
118
- - lib/loggable/lograge/formatter.rb
103
+ - lib/loggable/logfmt/logger.rb
119
104
  - lib/loggable/opentelemetry_config.rb
120
105
  - lib/loggable/railtie.rb
121
106
  - lib/loggable/version.rb
122
107
  - lib/researchable_loggable.rb
123
- - node_modules/semantic-release-rubygem/src/__tests__/fixtures/invalid-version-file/lib/test-gem/version.rb
124
- - node_modules/semantic-release-rubygem/src/__tests__/fixtures/prerelease/lib/test-gem/version.rb
125
- - node_modules/semantic-release-rubygem/src/__tests__/fixtures/valid/lib/test-gem/version.rb
126
108
  - sig/loggable.rbs
127
- - vendor/ruby/ruby/3.2.0/gems/actionpack-7.0.4.2/lib/action_pack/version.rb
128
- - vendor/ruby/ruby/3.2.0/gems/actionview-7.0.4.2/lib/action_view/version.rb
129
- - vendor/ruby/ruby/3.2.0/gems/activesupport-7.0.4.2/lib/active_support/version.rb
130
- - vendor/ruby/ruby/3.2.0/gems/builder-3.2.4/lib/builder/version.rb
131
- - vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb
132
- - vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb
133
- - vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/thor/lib/thor/version.rb
134
- - vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/vendor/uri/lib/uri/version.rb
135
- - vendor/ruby/ruby/3.2.0/gems/bundler-2.4.6/lib/bundler/version.rb
136
- - vendor/ruby/ruby/3.2.0/gems/concurrent-ruby-1.2.0/lib/concurrent-ruby/concurrent/version.rb
137
- - vendor/ruby/ruby/3.2.0/gems/crass-1.0.6/lib/crass/version.rb
138
- - vendor/ruby/ruby/3.2.0/gems/ecs-logging-1.0.0/lib/ecs_logging/version.rb
139
- - vendor/ruby/ruby/3.2.0/gems/googleapis-common-protos-types-1.15.0/lib/googleapis/common/protos/types/version.rb
140
- - vendor/ruby/ruby/3.2.0/gems/i18n-1.12.0/lib/i18n/version.rb
141
- - vendor/ruby/ruby/3.2.0/gems/lograge-0.12.0/lib/lograge/version.rb
142
- - vendor/ruby/ruby/3.2.0/gems/loofah-2.19.1/lib/loofah/version.rb
143
- - vendor/ruby/ruby/3.2.0/gems/method_source-1.0.0/lib/method_source/version.rb
144
- - vendor/ruby/ruby/3.2.0/gems/nokogiri-1.14.1-x86_64-linux/lib/nokogiri/version.rb
145
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-api-1.3.0/lib/opentelemetry/version.rb
146
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-common-0.21.0/lib/opentelemetry/common/version.rb
147
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-exporter-otlp-0.28.1/lib/opentelemetry/exporter/otlp/version.rb
148
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-helpers-mysql-0.1.1/lib/opentelemetry/helpers/mysql/version.rb
149
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-helpers-sql-obfuscation-0.2.0/lib/opentelemetry/helpers/sql_obfuscation/version.rb
150
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-action_mailer-0.1.0/lib/opentelemetry/instrumentation/action_mailer/version.rb
151
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-action_pack-0.9.0/lib/opentelemetry/instrumentation/action_pack/version.rb
152
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-action_view-0.7.3/lib/opentelemetry/instrumentation/action_view/version.rb
153
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_job-0.7.7/lib/opentelemetry/instrumentation/active_job/version.rb
154
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_model_serializers-0.20.2/lib/opentelemetry/instrumentation/active_model_serializers/version.rb
155
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_record-0.7.4/lib/opentelemetry/instrumentation/active_record/version.rb
156
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-active_support-0.6.0/lib/opentelemetry/instrumentation/active_support/version.rb
157
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-all-0.63.0/lib/opentelemetry/instrumentation/all/version.rb
158
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-aws_lambda-0.1.1/lib/opentelemetry/instrumentation/aws_lambda/version.rb
159
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-aws_sdk-0.5.4/lib/opentelemetry/instrumentation/aws_sdk/version.rb
160
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-base-0.22.6/lib/opentelemetry/instrumentation/version.rb
161
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-bunny-0.21.4/lib/opentelemetry/instrumentation/bunny/version.rb
162
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-concurrent_ruby-0.21.4/lib/opentelemetry/instrumentation/concurrent_ruby/version.rb
163
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-dalli-0.25.4/lib/opentelemetry/instrumentation/dalli/version.rb
164
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-delayed_job-0.22.4/lib/opentelemetry/instrumentation/delayed_job/version.rb
165
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-ethon-0.21.8/lib/opentelemetry/instrumentation/ethon/version.rb
166
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-excon-0.22.4/lib/opentelemetry/instrumentation/excon/version.rb
167
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-faraday-0.24.6/lib/opentelemetry/instrumentation/faraday/version.rb
168
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-grape-0.2.0/lib/opentelemetry/instrumentation/grape/version.rb
169
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-graphql-0.28.4/lib/opentelemetry/instrumentation/graphql/version.rb
170
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-gruf-0.2.1/lib/opentelemetry/instrumentation/gruf/version.rb
171
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-http-0.23.4/lib/opentelemetry/instrumentation/http/version.rb
172
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-http_client-0.22.7/lib/opentelemetry/instrumentation/http_client/version.rb
173
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-koala-0.20.5/lib/opentelemetry/instrumentation/koala/version.rb
174
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-lmdb-0.22.3/lib/opentelemetry/instrumentation/lmdb/version.rb
175
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-mongo-0.22.4/lib/opentelemetry/instrumentation/mongo/version.rb
176
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-mysql2-0.27.2/lib/opentelemetry/instrumentation/mysql2/version.rb
177
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-net_http-0.22.7/lib/opentelemetry/instrumentation/net/http/version.rb
178
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-pg-0.28.0/lib/opentelemetry/instrumentation/pg/version.rb
179
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-que-0.8.4/lib/opentelemetry/instrumentation/que/version.rb
180
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-racecar-0.3.4/lib/opentelemetry/instrumentation/racecar/version.rb
181
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rack-0.24.6/lib/opentelemetry/instrumentation/rack/version.rb
182
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rails-0.31.2/lib/opentelemetry/instrumentation/rails/version.rb
183
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rake-0.2.2/lib/opentelemetry/instrumentation/rake/version.rb
184
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-rdkafka-0.4.8/lib/opentelemetry/instrumentation/rdkafka/version.rb
185
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-redis-0.25.7/lib/opentelemetry/instrumentation/redis/version.rb
186
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-resque-0.5.2/lib/opentelemetry/instrumentation/resque/version.rb
187
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-restclient-0.22.7/lib/opentelemetry/instrumentation/restclient/version.rb
188
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-ruby_kafka-0.21.3/lib/opentelemetry/instrumentation/ruby_kafka/version.rb
189
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-sidekiq-0.25.7/lib/opentelemetry/instrumentation/sidekiq/version.rb
190
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-sinatra-0.24.1/lib/opentelemetry/instrumentation/sinatra/version.rb
191
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-instrumentation-trilogy-0.59.3/lib/opentelemetry/instrumentation/trilogy/version.rb
192
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-registry-0.3.1/lib/opentelemetry/instrumentation/registry/version.rb
193
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-sdk-1.5.0/lib/opentelemetry/sdk/version.rb
194
- - vendor/ruby/ruby/3.2.0/gems/opentelemetry-semantic_conventions-1.10.1/lib/opentelemetry/semantic_conventions/version.rb
195
- - vendor/ruby/ruby/3.2.0/gems/parallel-1.22.1/lib/parallel/version.rb
196
- - vendor/ruby/ruby/3.2.0/gems/parser-3.2.1.1/lib/parser/version.rb
197
- - vendor/ruby/ruby/3.2.0/gems/rack-2.2.6.2/lib/rack/version.rb
198
- - vendor/ruby/ruby/3.2.0/gems/rack-test-2.0.2/lib/rack/test/version.rb
199
- - vendor/ruby/ruby/3.2.0/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/version.rb
200
- - vendor/ruby/ruby/3.2.0/gems/rails-html-sanitizer-1.5.0/lib/rails/html/sanitizer/version.rb
201
- - vendor/ruby/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/version.rb
202
- - vendor/ruby/ruby/3.2.0/gems/rainbow-3.1.1/lib/rainbow/version.rb
203
- - vendor/ruby/ruby/3.2.0/gems/rake-13.0.6/lib/rake/version.rb
204
- - vendor/ruby/ruby/3.2.0/gems/regexp_parser-2.7.0/lib/regexp_parser/version.rb
205
- - vendor/ruby/ruby/3.2.0/gems/request_store-1.5.1/lib/request_store/version.rb
206
- - vendor/ruby/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec/version.rb
207
- - vendor/ruby/ruby/3.2.0/gems/rspec-core-3.12.1/lib/rspec/core/version.rb
208
- - vendor/ruby/ruby/3.2.0/gems/rspec-expectations-3.12.2/lib/rspec/expectations/version.rb
209
- - vendor/ruby/ruby/3.2.0/gems/rspec-mocks-3.12.3/lib/rspec/mocks/version.rb
210
- - vendor/ruby/ruby/3.2.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb
211
- - vendor/ruby/ruby/3.2.0/gems/rubocop-1.23.0/lib/rubocop/cli/command/version.rb
212
- - vendor/ruby/ruby/3.2.0/gems/rubocop-1.23.0/lib/rubocop/version.rb
213
- - vendor/ruby/ruby/3.2.0/gems/rubocop-ast-1.27.0/lib/rubocop/ast/version.rb
214
- - vendor/ruby/ruby/3.2.0/gems/rubocop-performance-1.12.0/lib/rubocop/performance/version.rb
215
- - vendor/ruby/ruby/3.2.0/gems/rubocop-rails-2.12.4/lib/rubocop/rails/version.rb
216
- - vendor/ruby/ruby/3.2.0/gems/rubocop-rake-0.6.0/lib/rubocop/rake/version.rb
217
- - vendor/ruby/ruby/3.2.0/gems/rubocop-rspec-2.6.0/lib/rubocop/rspec/version.rb
218
- - vendor/ruby/ruby/3.2.0/gems/ruboguide-1.0.0/lib/ruboguide/version.rb
219
- - vendor/ruby/ruby/3.2.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/version.rb
220
- - vendor/ruby/ruby/3.2.0/gems/thor-1.2.1/lib/thor/version.rb
221
- - vendor/ruby/ruby/3.2.0/gems/tzinfo-2.0.6/lib/tzinfo/version.rb
222
- - vendor/ruby/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/version.rb
223
- homepage: https://gitlab.com/researchable/general/gems/loggable/-/blob/v1.3.1/README.md
109
+ homepage: https://gitlab.com/researchable/general/gems/loggable/-/blob/v1.4.0/README.md
224
110
  licenses:
225
111
  - MIT
226
112
  metadata:
227
- homepage_uri: https://gitlab.com/researchable/general/gems/loggable/-/blob/v1.3.1/README.md
113
+ homepage_uri: https://gitlab.com/researchable/general/gems/loggable/-/blob/v1.4.0/README.md
228
114
  source_code_uri: https://gitlab.com/researchable/general/gems/loggable
229
- changelog_uri: https://gitlab.com/researchable/general/gems/loggable/-/blob/v1.3.1/CHANGELOG.md
115
+ changelog_uri: https://gitlab.com/researchable/general/gems/loggable/-/blob/v1.4.0/CHANGELOG.md
230
116
  post_install_message:
231
117
  rdoc_options: []
232
118
  require_paths:
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ecs_logging/formatter'
4
-
5
- module Loggable
6
- module EcsLogging
7
- # A monkey patch to the ::EcsLogging::Formatter to customize how messages from lograge are rendered
8
- module FormatterMonkeyPatch
9
- def call(severity, time, progname, msg, **extras)
10
- base = {
11
- '@timestamp': time.utc.iso8601(3),
12
- 'log.level': severity,
13
- message: msg,
14
- 'ecs.version': '1.4.0'
15
- }
16
-
17
- base['log.logger'] = progname if progname
18
-
19
- base.merge!(msg.except(:lograge)) if msg.is_a?(Hash) && msg.key?(:lograge)
20
- base.merge!(extras) if extras
21
-
22
- "#{JSON.fast_generate(base)}\n"
23
- end
24
-
25
- class << self
26
- def apply_patch
27
- const = find_const
28
- mtd = find_method(const)
29
-
30
- # byebug
31
- const.prepend(self) if const && mtd && mtd.arity == -5
32
- end
33
-
34
- private
35
-
36
- def find_const
37
- Kernel.const_get('::EcsLogging::Formatter')
38
- rescue NameError
39
- puts '[WARN] ::EcsLogging::Formatter not found. Patch could not be applied.' # rubocop:disable Rails/Output
40
- end
41
-
42
- def find_method(const)
43
- return unless const
44
-
45
- method_name = :call
46
- const.instance_method(method_name)
47
- rescue NameError
48
- puts "[WARN] '#{method_name}' method not found in '#{const}'. Patch could not be applied." # rubocop:disable Rails/Output
49
- end
50
- end
51
- end
52
- end
53
- end
54
-
55
- Loggable::EcsLogging::FormatterMonkeyPatch.apply_patch
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'lograge'
4
- require 'active_support/core_ext/array'
5
-
6
- module Loggable
7
- module Lograge
8
- # Custom formatter class that renders logs as ruby objects with just the ecs fields generated by the logger, the
9
- # message, and a lograge flag so the ECS logger knows to process this further before rendering
10
- class Formatter < ::Lograge::Formatters::KeyValue
11
- def call(data)
12
- (data[:ecs] || {}).merge(message: super(data), lograge: true)
13
- end
14
-
15
- protected
16
-
17
- def fields_to_display(data)
18
- data.keys.excluding(%i[ecs])
19
- end
20
- end
21
- end
22
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module TestGem
4
- SOME_CONST = '1.1.2'
5
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module TestGem
4
- VERSION = '0.1.0.alpha.1'
5
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module TestGem
4
- VERSION = '1.3.1'
5
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "gem_version"
4
-
5
- module ActionPack
6
- # Returns the currently loaded version of Action Pack as a <tt>Gem::Version</tt>.
7
- def self.version
8
- gem_version
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "gem_version"
4
-
5
- module ActionView
6
- # Returns the currently loaded version of Action View as a <tt>Gem::Version</tt>.
7
- def self.version
8
- gem_version
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "gem_version"
4
-
5
- module ActiveSupport
6
- # Returns the currently loaded version of Active Support as a <tt>Gem::Version</tt>.
7
- def self.version
8
- gem_version
9
- end
10
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
- module Builder
3
- VERSION_NUMBERS = [
4
- VERSION_MAJOR = 3,
5
- VERSION_MINOR = 2,
6
- VERSION_BUILD = 4,
7
- ]
8
- VERSION = VERSION_NUMBERS.join(".")
9
- end
@@ -1,3 +0,0 @@
1
- class Bundler::ConnectionPool
2
- VERSION = "2.3.0"
3
- end
@@ -1,3 +0,0 @@
1
- module Bundler::PubGrub
2
- VERSION = "0.5.0"
3
- end
@@ -1,3 +0,0 @@
1
- class Bundler::Thor
2
- VERSION = "1.2.1"
3
- end
@@ -1,6 +0,0 @@
1
- module Bundler::URI
2
- # :stopdoc:
3
- VERSION_CODE = '001200'.freeze
4
- VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
5
- # :startdoc:
6
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- module Bundler
4
- VERSION = "2.4.6".freeze
5
-
6
- def self.bundler_major_version
7
- @bundler_major_version ||= VERSION.split(".").first.to_i
8
- end
9
-
10
- def self.gem_version
11
- @gem_version ||= Gem::Version.create(VERSION)
12
- end
13
- end
@@ -1,3 +0,0 @@
1
- module Concurrent
2
- VERSION = '1.3.1'
3
- end
@@ -1,5 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Crass
4
- VERSION = '1.3.1'
5
- end
@@ -1,22 +0,0 @@
1
- # Licensed to Elasticsearch B.V. under one or more contributor
2
- # license agreements. See the NOTICE file distributed with
3
- # this work for additional information regarding copyright
4
- # ownership. Elasticsearch B.V. licenses this file to you under
5
- # the Apache License, Version 2.0 (the "License"); you may
6
- # not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing,
12
- # software distributed under the License is distributed on an
13
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- # KIND, either express or implied. See the License for the
15
- # specific language governing permissions and limitations
16
- # under the License.
17
-
18
- # frozen_string_literal: true
19
-
20
- module EcsLogging
21
- VERSION = "1.0.0"
22
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright 2021 Google LLC
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # https://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- module Google
18
- module CommonProtos
19
- module Types
20
- VERSION = "1.15.0".freeze
21
- end
22
- end
23
- end