logstruct 0.3.0 → 0.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/lib/log_struct/concerns/configuration.rb +2 -2
  4. data/lib/log_struct/config_struct/filters.rb +2 -5
  5. data/lib/log_struct/enums/level.rb +1 -1
  6. data/lib/log_struct/integrations/action_mailer/event_logging.rb +1 -0
  7. data/lib/log_struct/integrations/action_mailer/metadata_collection.rb +1 -0
  8. data/lib/log_struct/integrations/active_record.rb +1 -1
  9. data/lib/log_struct/integrations/ahoy.rb +1 -1
  10. data/lib/log_struct/integrations/carrierwave.rb +1 -0
  11. data/lib/log_struct/integrations/dotenv.rb +2 -1
  12. data/lib/log_struct/integrations/good_job.rb +2 -1
  13. data/lib/log_struct/integrations/host_authorization.rb +3 -6
  14. data/lib/log_struct/integrations/lograge.rb +19 -22
  15. data/lib/log_struct/integrations/puma.rb +1 -1
  16. data/lib/log_struct/integrations/rack_error_handler/error_lines.rb +1 -4
  17. data/lib/log_struct/integrations/shrine.rb +1 -1
  18. data/lib/log_struct/log/action_mailer/delivered.rb +9 -7
  19. data/lib/log_struct/log/action_mailer/delivery.rb +9 -7
  20. data/lib/log_struct/log/action_mailer/error.rb +9 -7
  21. data/lib/log_struct/log/action_mailer.rb +1 -0
  22. data/lib/log_struct/log/active_job/discard.rb +7 -5
  23. data/lib/log_struct/log/active_job/enqueue.rb +7 -5
  24. data/lib/log_struct/log/active_job/error.rb +7 -5
  25. data/lib/log_struct/log/active_job/finish.rb +7 -5
  26. data/lib/log_struct/log/active_job/retry.rb +7 -5
  27. data/lib/log_struct/log/active_job/retry_stopped.rb +7 -5
  28. data/lib/log_struct/log/active_job/schedule.rb +7 -5
  29. data/lib/log_struct/log/active_job/start.rb +7 -5
  30. data/lib/log_struct/log/active_job.rb +1 -0
  31. data/lib/log_struct/log/active_model_serializers.rb +7 -5
  32. data/lib/log_struct/log/active_storage/delete.rb +7 -5
  33. data/lib/log_struct/log/active_storage/download.rb +7 -5
  34. data/lib/log_struct/log/active_storage/exist.rb +7 -5
  35. data/lib/log_struct/log/active_storage/metadata.rb +7 -5
  36. data/lib/log_struct/log/active_storage/upload.rb +7 -5
  37. data/lib/log_struct/log/active_storage/url.rb +7 -5
  38. data/lib/log_struct/log/active_storage.rb +1 -0
  39. data/lib/log_struct/log/ahoy.rb +7 -5
  40. data/lib/log_struct/log/carrierwave/delete.rb +7 -5
  41. data/lib/log_struct/log/carrierwave/download.rb +7 -5
  42. data/lib/log_struct/log/carrierwave/upload.rb +7 -5
  43. data/lib/log_struct/log/carrierwave.rb +1 -0
  44. data/lib/log_struct/log/dotenv/load.rb +7 -5
  45. data/lib/log_struct/log/dotenv/restore.rb +7 -5
  46. data/lib/log_struct/log/dotenv/save.rb +7 -5
  47. data/lib/log_struct/log/dotenv/update.rb +7 -5
  48. data/lib/log_struct/log/error.rb +15 -15
  49. data/lib/log_struct/log/good_job/error.rb +7 -5
  50. data/lib/log_struct/log/good_job/log.rb +7 -5
  51. data/lib/log_struct/log/good_job.rb +1 -0
  52. data/lib/log_struct/log/plain.rb +9 -7
  53. data/lib/log_struct/log/puma/error.rb +9 -7
  54. data/lib/log_struct/log/puma/shutdown.rb +9 -7
  55. data/lib/log_struct/log/puma/start.rb +9 -7
  56. data/lib/log_struct/log/request.rb +15 -15
  57. data/lib/log_struct/log/security/blocked_host.rb +15 -15
  58. data/lib/log_struct/log/security/csrf_violation.rb +15 -15
  59. data/lib/log_struct/log/security/ip_spoof.rb +15 -15
  60. data/lib/log_struct/log/security.rb +1 -0
  61. data/lib/log_struct/log/shrine/delete.rb +7 -5
  62. data/lib/log_struct/log/shrine/download.rb +7 -5
  63. data/lib/log_struct/log/shrine/exist.rb +7 -5
  64. data/lib/log_struct/log/shrine/metadata.rb +7 -5
  65. data/lib/log_struct/log/shrine/upload.rb +7 -5
  66. data/lib/log_struct/log/sidekiq/error.rb +9 -7
  67. data/lib/log_struct/log/sidekiq/log.rb +9 -7
  68. data/lib/log_struct/log/sql.rb +9 -7
  69. data/lib/log_struct/monkey_patches/active_support/tagged_logging/formatter.rb +1 -0
  70. data/lib/log_struct/multi_error_reporter.rb +1 -1
  71. data/lib/log_struct/params_errors.rb +7 -10
  72. data/lib/log_struct/rails_boot_banner_silencer.rb +1 -0
  73. data/lib/log_struct/semantic_logger/concerns/log_methods.rb +1 -0
  74. data/lib/log_struct/semantic_logger/formatter.rb +1 -1
  75. data/lib/log_struct/semantic_logger/logger.rb +1 -1
  76. data/lib/log_struct/semantic_logger/setup.rb +1 -4
  77. data/lib/log_struct/string_scrubber.rb +1 -1
  78. data/lib/log_struct/version.rb +1 -1
  79. data/logstruct.gemspec +1 -1
  80. metadata +3 -3
@@ -22,11 +22,14 @@ module LogStruct
22
22
  class ActiveModelSerializers < T::Struct
23
23
  extend T::Sig
24
24
 
25
+ # A prop marked `override` needs the method it implements to exist already
26
+ include LogStruct::Log::Interfaces::CommonFields
27
+
25
28
  # Shared/common fields
26
- const :source, Source::Rails, default: Source::Rails
27
- const :event, Event, default: Event::Generate
28
- const :timestamp, Time, factory: -> { Time.now }
29
- const :level, Level, default: Level::Info
29
+ const :source, Source::Rails, default: Source::Rails, override: true
30
+ const :event, Event, default: Event::Generate, override: true
31
+ const :timestamp, Time, factory: -> { Time.now }, override: true
32
+ const :level, Level, default: Level::Info, override: true
30
33
 
31
34
  # Event-specific fields
32
35
  const :message, String
@@ -36,7 +39,6 @@ module LogStruct
36
39
  const :duration_ms, Float
37
40
 
38
41
  # Serialize shared fields
39
- include LogStruct::Log::Interfaces::CommonFields
40
42
  include LogStruct::Log::Shared::SerializeCommon
41
43
 
42
44
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Delete < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Storage, default: Source::Storage
28
- const :event, Event, default: Event::Delete
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Storage, default: Source::Storage, override: true
31
+ const :event, Event, default: Event::Delete, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, T.nilable(String), default: nil
@@ -36,7 +39,6 @@ module LogStruct
36
39
  const :prefix, T.nilable(String), default: nil
37
40
 
38
41
  # Serialize shared fields
39
- include LogStruct::Log::Interfaces::CommonFields
40
42
  include LogStruct::Log::Shared::SerializeCommon
41
43
 
42
44
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Download < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Storage, default: Source::Storage
28
- const :event, Event, default: Event::Download
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Storage, default: Source::Storage, override: true
31
+ const :event, Event, default: Event::Download, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, T.nilable(String), default: nil
@@ -37,7 +40,6 @@ module LogStruct
37
40
  const :duration_ms, T.nilable(Float), default: nil
38
41
 
39
42
  # Serialize shared fields
40
- include LogStruct::Log::Interfaces::CommonFields
41
43
  include LogStruct::Log::Shared::SerializeCommon
42
44
 
43
45
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Exist < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Storage, default: Source::Storage
28
- const :event, Event, default: Event::Exist
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Storage, default: Source::Storage, override: true
31
+ const :event, Event, default: Event::Exist, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, T.nilable(String), default: nil
@@ -36,7 +39,6 @@ module LogStruct
36
39
  const :exist, T.nilable(T::Boolean), default: nil
37
40
 
38
41
  # Serialize shared fields
39
- include LogStruct::Log::Interfaces::CommonFields
40
42
  include LogStruct::Log::Shared::SerializeCommon
41
43
 
42
44
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Metadata < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Storage, default: Source::Storage
28
- const :event, Event, default: Event::Metadata
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Storage, default: Source::Storage, override: true
31
+ const :event, Event, default: Event::Metadata, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, T.nilable(String), default: nil
@@ -36,7 +39,6 @@ module LogStruct
36
39
  const :mime_type, T.nilable(String), default: nil
37
40
 
38
41
  # Serialize shared fields
39
- include LogStruct::Log::Interfaces::CommonFields
40
42
  include LogStruct::Log::Shared::SerializeCommon
41
43
 
42
44
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Upload < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Storage, default: Source::Storage
28
- const :event, Event, default: Event::Upload
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Storage, default: Source::Storage, override: true
31
+ const :event, Event, default: Event::Upload, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, T.nilable(String), default: nil
@@ -37,7 +40,6 @@ module LogStruct
37
40
  const :checksum, T.nilable(String), default: nil
38
41
 
39
42
  # Serialize shared fields
40
- include LogStruct::Log::Interfaces::CommonFields
41
43
  include LogStruct::Log::Shared::SerializeCommon
42
44
 
43
45
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,17 +23,19 @@ module LogStruct
23
23
  class Url < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Storage, default: Source::Storage
28
- const :event, Event, default: Event::Url
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Storage, default: Source::Storage, override: true
31
+ const :event, Event, default: Event::Url, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, T.nilable(String), default: nil
34
37
 
35
38
  # Serialize shared fields
36
- include LogStruct::Log::Interfaces::CommonFields
37
39
  include LogStruct::Log::Shared::SerializeCommon
38
40
 
39
41
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -18,6 +18,7 @@ module LogStruct
18
18
  class ActiveStorage
19
19
  class BaseFields < T::Struct
20
20
  extend T::Sig
21
+
21
22
  const :storage, Symbol
22
23
  const :file_id, T.nilable(String), default: nil
23
24
 
@@ -22,11 +22,14 @@ module LogStruct
22
22
  class Ahoy < T::Struct
23
23
  extend T::Sig
24
24
 
25
+ # A prop marked `override` needs the method it implements to exist already
26
+ include LogStruct::Log::Interfaces::CommonFields
27
+
25
28
  # Shared/common fields
26
- const :source, Source::App, default: Source::App
27
- const :event, Event, default: Event::Log
28
- const :timestamp, Time, factory: -> { Time.now }
29
- const :level, Level, default: Level::Info
29
+ const :source, Source::App, default: Source::App, override: true
30
+ const :event, Event, default: Event::Log, override: true
31
+ const :timestamp, Time, factory: -> { Time.now }, override: true
32
+ const :level, Level, default: Level::Info, override: true
30
33
 
31
34
  # Event-specific fields
32
35
  const :message, String
@@ -34,7 +37,6 @@ module LogStruct
34
37
  const :properties, T.nilable(T::Hash[Symbol, T.untyped]), default: nil
35
38
 
36
39
  # Serialize shared fields
37
- include LogStruct::Log::Interfaces::CommonFields
38
40
  include LogStruct::Log::Shared::SerializeCommon
39
41
 
40
42
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Delete < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::CarrierWave, default: Source::CarrierWave
28
- const :event, Event, default: Event::Delete
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::CarrierWave, default: Source::CarrierWave, override: true
31
+ const :event, Event, default: Event::Delete, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, String
@@ -37,7 +40,6 @@ module LogStruct
37
40
  const :version, T.nilable(String), default: nil
38
41
 
39
42
  # Serialize shared fields
40
- include LogStruct::Log::Interfaces::CommonFields
41
43
  include LogStruct::Log::Shared::SerializeCommon
42
44
 
43
45
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Download < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::CarrierWave, default: Source::CarrierWave
28
- const :event, Event, default: Event::Download
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::CarrierWave, default: Source::CarrierWave, override: true
31
+ const :event, Event, default: Event::Download, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, String
@@ -41,7 +44,6 @@ module LogStruct
41
44
  const :size, T.nilable(Integer), default: nil
42
45
 
43
46
  # Serialize shared fields
44
- include LogStruct::Log::Interfaces::CommonFields
45
47
  include LogStruct::Log::Shared::SerializeCommon
46
48
 
47
49
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Upload < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::CarrierWave, default: Source::CarrierWave
28
- const :event, Event, default: Event::Upload
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::CarrierWave, default: Source::CarrierWave, override: true
31
+ const :event, Event, default: Event::Upload, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :storage, Symbol
33
36
  const :file_id, String
@@ -43,7 +46,6 @@ module LogStruct
43
46
  const :duration_ms, T.nilable(Float), default: nil
44
47
 
45
48
  # Serialize shared fields
46
- include LogStruct::Log::Interfaces::CommonFields
47
49
  include LogStruct::Log::Shared::SerializeCommon
48
50
 
49
51
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -15,6 +15,7 @@ module LogStruct
15
15
  class CarrierWave
16
16
  class BaseFields < T::Struct
17
17
  extend T::Sig
18
+
18
19
  const :storage, Symbol
19
20
  const :file_id, String
20
21
  const :uploader, T.nilable(String), default: nil
@@ -23,17 +23,19 @@ module LogStruct
23
23
  class Load < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Dotenv, default: Source::Dotenv
28
- const :event, Event, default: Event::Load
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Dotenv, default: Source::Dotenv, override: true
31
+ const :event, Event, default: Event::Load, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  # Event-specific fields
33
36
  const :file, String
34
37
 
35
38
  # Serialize shared fields
36
- include LogStruct::Log::Interfaces::CommonFields
37
39
  include LogStruct::Log::Shared::SerializeCommon
38
40
 
39
41
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,17 +23,19 @@ module LogStruct
23
23
  class Restore < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Dotenv, default: Source::Dotenv
28
- const :event, Event, default: Event::Restore
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Dotenv, default: Source::Dotenv, override: true
31
+ const :event, Event, default: Event::Restore, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  # Event-specific fields
33
36
  const :vars, T::Array[String]
34
37
 
35
38
  # Serialize shared fields
36
- include LogStruct::Log::Interfaces::CommonFields
37
39
  include LogStruct::Log::Shared::SerializeCommon
38
40
 
39
41
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,17 +23,19 @@ module LogStruct
23
23
  class Save < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Dotenv, default: Source::Dotenv
28
- const :event, Event, default: Event::Save
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Dotenv, default: Source::Dotenv, override: true
31
+ const :event, Event, default: Event::Save, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  # Event-specific fields
33
36
  const :snapshot, T::Boolean
34
37
 
35
38
  # Serialize shared fields
36
- include LogStruct::Log::Interfaces::CommonFields
37
39
  include LogStruct::Log::Shared::SerializeCommon
38
40
 
39
41
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,17 +23,19 @@ module LogStruct
23
23
  class Update < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Dotenv, default: Source::Dotenv
28
- const :event, Event, default: Event::Update
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Dotenv, default: Source::Dotenv, override: true
31
+ const :event, Event, default: Event::Update, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  # Event-specific fields
33
36
  const :vars, T::Array[String]
34
37
 
35
38
  # Serialize shared fields
36
- include LogStruct::Log::Interfaces::CommonFields
37
39
  include LogStruct::Log::Shared::SerializeCommon
38
40
 
39
41
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -22,17 +22,22 @@ module LogStruct
22
22
  class Error < T::Struct
23
23
  extend T::Sig
24
24
 
25
+ # A prop marked `override` needs the method it implements to exist already
26
+ include LogStruct::Log::Interfaces::CommonFields
27
+ include LogStruct::Log::Interfaces::AdditionalDataField
28
+ include LogStruct::Log::Interfaces::RequestFields
29
+
25
30
  # Shared/common fields
26
- const :source, Source
27
- const :event, Event, default: Event::Error
28
- const :timestamp, Time, factory: -> { Time.now }
29
- const :level, Level, default: Level::Info
31
+ const :source, Source, override: true
32
+ const :event, Event, default: Event::Error, override: true
33
+ const :timestamp, Time, factory: -> { Time.now }, override: true
34
+ const :level, Level, default: Level::Info, override: true
30
35
 
31
- const :path, T.nilable(String), default: nil
32
- const :http_method, T.nilable(String), default: nil
33
- const :source_ip, T.nilable(String), default: nil
34
- const :user_agent, T.nilable(String), default: nil
35
- const :referer, T.nilable(String), default: nil
36
+ const :path, T.nilable(String), default: nil, override: true
37
+ const :http_method, T.nilable(String), default: nil, override: true
38
+ const :source_ip, T.nilable(String), default: nil, override: true
39
+ const :user_agent, T.nilable(String), default: nil, override: true
40
+ const :referer, T.nilable(String), default: nil, override: true
36
41
 
37
42
  # Event-specific fields
38
43
  const :error_class, T.class_of(Exception)
@@ -44,8 +49,7 @@ module LogStruct
44
49
  const :cause_message, T.nilable(String), default: nil
45
50
 
46
51
  # Additional data
47
- include LogStruct::Log::Interfaces::AdditionalDataField
48
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
52
+ const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil, override: true
49
53
  include LogStruct::Log::Shared::MergeAdditionalDataFields
50
54
 
51
55
  FIELD_KEYS = T.let(
@@ -58,11 +62,7 @@ module LogStruct
58
62
  FIELD_KEYS
59
63
  end
60
64
 
61
- # Request fields (optional)
62
- include LogStruct::Log::Interfaces::RequestFields
63
-
64
65
  # Serialize shared fields
65
- include LogStruct::Log::Interfaces::CommonFields
66
66
  include LogStruct::Log::Shared::SerializeCommon
67
67
  include LogStruct::Log::Shared::AddRequestFields
68
68
 
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Error < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Job, default: Source::Job
28
- const :event, Event, default: Event::Error
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Job, default: Source::Job, override: true
31
+ const :event, Event, default: Event::Error, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :job_id, T.nilable(String), default: nil
33
36
  const :job_class, T.nilable(String), default: nil
@@ -45,7 +48,6 @@ module LogStruct
45
48
  const :backtrace, T.nilable(T::Array[String]), default: nil
46
49
 
47
50
  # Serialize shared fields
48
- include LogStruct::Log::Interfaces::CommonFields
49
51
  include LogStruct::Log::Shared::SerializeCommon
50
52
 
51
53
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,14 @@ module LogStruct
23
23
  class Log < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+
26
29
  # Shared/common fields
27
- const :source, Source::Job, default: Source::Job
28
- const :event, Event, default: Event::Log
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
30
+ const :source, Source::Job, default: Source::Job, override: true
31
+ const :event, Event, default: Event::Log, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
31
34
 
32
35
  const :job_id, T.nilable(String), default: nil
33
36
  const :job_class, T.nilable(String), default: nil
@@ -43,7 +46,6 @@ module LogStruct
43
46
  const :priority, T.nilable(Integer), default: nil
44
47
 
45
48
  # Serialize shared fields
46
- include LogStruct::Log::Interfaces::CommonFields
47
49
  include LogStruct::Log::Shared::SerializeCommon
48
50
 
49
51
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -14,6 +14,7 @@ module LogStruct
14
14
  class GoodJob
15
15
  class BaseFields < T::Struct
16
16
  extend T::Sig
17
+
17
18
  const :job_id, T.nilable(String), default: nil
18
19
  const :job_class, T.nilable(String), default: nil
19
20
  const :queue_name, T.nilable(Symbol), default: nil
@@ -22,18 +22,21 @@ module LogStruct
22
22
  class Plain < T::Struct
23
23
  extend T::Sig
24
24
 
25
+ # A prop marked `override` needs the method it implements to exist already
26
+ include LogStruct::Log::Interfaces::CommonFields
27
+ include LogStruct::Log::Interfaces::AdditionalDataField
28
+
25
29
  # Shared/common fields
26
- const :source, Source::App, default: Source::App
27
- const :event, Event, default: Event::Log
28
- const :timestamp, Time, factory: -> { Time.now }
29
- const :level, Level, default: Level::Info
30
+ const :source, Source::App, default: Source::App, override: true
31
+ const :event, Event, default: Event::Log, override: true
32
+ const :timestamp, Time, factory: -> { Time.now }, override: true
33
+ const :level, Level, default: Level::Info, override: true
30
34
 
31
35
  # Event-specific fields
32
36
  const :message, T.untyped
33
37
 
34
38
  # Additional data
35
- include LogStruct::Log::Interfaces::AdditionalDataField
36
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
39
+ const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil, override: true
37
40
  include LogStruct::Log::Shared::MergeAdditionalDataFields
38
41
 
39
42
  FIELD_KEYS = T.let(
@@ -47,7 +50,6 @@ module LogStruct
47
50
  end
48
51
 
49
52
  # Serialize shared fields
50
- include LogStruct::Log::Interfaces::CommonFields
51
53
  include LogStruct::Log::Shared::SerializeCommon
52
54
 
53
55
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,11 +23,15 @@ module LogStruct
23
23
  class Error < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+ include LogStruct::Log::Interfaces::AdditionalDataField
29
+
26
30
  # Shared/common fields
27
- const :source, Source::Puma, default: Source::Puma
28
- const :event, Event, default: Event::Error
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
31
+ const :source, Source::Puma, default: Source::Puma, override: true
32
+ const :event, Event, default: Event::Error, override: true
33
+ const :timestamp, Time, factory: -> { Time.now }, override: true
34
+ const :level, Level, default: Level::Info, override: true
31
35
 
32
36
  # Event-specific fields
33
37
  const :error_class, T.class_of(Exception)
@@ -38,8 +42,7 @@ module LogStruct
38
42
  const :path, T.nilable(String), default: nil
39
43
 
40
44
  # Additional data
41
- include LogStruct::Log::Interfaces::AdditionalDataField
42
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
45
+ const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil, override: true
43
46
  include LogStruct::Log::Shared::MergeAdditionalDataFields
44
47
 
45
48
  FIELD_KEYS = T.let(
@@ -53,7 +56,6 @@ module LogStruct
53
56
  end
54
57
 
55
58
  # Serialize shared fields
56
- include LogStruct::Log::Interfaces::CommonFields
57
59
  include LogStruct::Log::Shared::SerializeCommon
58
60
 
59
61
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
@@ -23,18 +23,21 @@ module LogStruct
23
23
  class Shutdown < T::Struct
24
24
  extend T::Sig
25
25
 
26
+ # A prop marked `override` needs the method it implements to exist already
27
+ include LogStruct::Log::Interfaces::CommonFields
28
+ include LogStruct::Log::Interfaces::AdditionalDataField
29
+
26
30
  # Shared/common fields
27
- const :source, Source::Puma, default: Source::Puma
28
- const :event, Event, default: Event::Shutdown
29
- const :timestamp, Time, factory: -> { Time.now }
30
- const :level, Level, default: Level::Info
31
+ const :source, Source::Puma, default: Source::Puma, override: true
32
+ const :event, Event, default: Event::Shutdown, override: true
33
+ const :timestamp, Time, factory: -> { Time.now }, override: true
34
+ const :level, Level, default: Level::Info, override: true
31
35
 
32
36
  # Event-specific fields
33
37
  const :process_id, T.nilable(Integer), default: nil
34
38
 
35
39
  # Additional data
36
- include LogStruct::Log::Interfaces::AdditionalDataField
37
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
40
+ const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil, override: true
38
41
  include LogStruct::Log::Shared::MergeAdditionalDataFields
39
42
 
40
43
  FIELD_KEYS = T.let(
@@ -48,7 +51,6 @@ module LogStruct
48
51
  end
49
52
 
50
53
  # Serialize shared fields
51
- include LogStruct::Log::Interfaces::CommonFields
52
54
  include LogStruct::Log::Shared::SerializeCommon
53
55
 
54
56
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }