iugu_logger 0.10.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.
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'iugu_logger/version'
4
+ require 'iugu_logger/severity'
5
+ require 'iugu_logger/pii'
6
+ require 'iugu_logger/schema'
7
+ require 'iugu_logger/trace_context'
8
+ require 'iugu_logger/tenant_context'
9
+ require 'iugu_logger/buffer'
10
+ require 'iugu_logger/configuration'
11
+ require 'iugu_logger/logger'
12
+ require 'iugu_logger/request_logger'
13
+ require 'iugu_logger/job_logger'
14
+
15
+ # Auto-wire into Rails when present. No-op for non-Rails apps.
16
+ require 'iugu_logger/railtie' if defined?(::Rails::Railtie)
17
+
18
+ # iugu Logging Standard (ILS) — Ruby SDK
19
+ #
20
+ # Native iugu structured logging SDK. Standalone (no third-party logging
21
+ # gem dependency). Implements the iugu Logging Standard (ILS) canonical schema.
22
+ #
23
+ # Compatibility: Ruby >= 2.4 (covers Rails 4.2 through modern services).
24
+ #
25
+ # @example basic setup
26
+ # IuguLogger.configure do |c|
27
+ # c.service_name = 'platform'
28
+ # c.service_version = ENV['GIT_SHA']
29
+ # c.service_environment = Rails.env
30
+ # end
31
+ #
32
+ # IuguLogger.event('pix.out.requested',
33
+ # pix: { end_to_end_id: e2e, amount_brl: 100 },
34
+ # iugu: { account_id: account.id_da_conta })
35
+ module IuguLogger
36
+ class Error < StandardError; end
37
+ class ConfigurationError < Error; end
38
+ class SchemaViolation < Error; end
39
+ class UnknownEventAction < Error; end
40
+
41
+ class << self
42
+ # Yields the configuration object for setup.
43
+ def configure
44
+ yield(configuration) if block_given?
45
+ configuration
46
+ end
47
+
48
+ def configuration
49
+ @configuration ||= Configuration.new
50
+ end
51
+
52
+ # The shared singleton logger. Lazy-instantiated.
53
+ def logger
54
+ @logger ||= Logger.new(configuration)
55
+ end
56
+
57
+ # Convenience proxy to logger.event(...).
58
+ def event(action, **fields)
59
+ logger.event(action, **fields)
60
+ end
61
+
62
+ # Resets configuration and logger. For tests / repl only.
63
+ def reset!
64
+ @configuration = nil
65
+ @logger = nil
66
+ end
67
+ end
68
+ end
metadata ADDED
@@ -0,0 +1,146 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iugu_logger
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.0
5
+ platform: ruby
6
+ authors:
7
+ - Eng Plataforma iugu
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: activesupport
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '4.2'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '4.2'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9'
32
+ - !ruby/object:Gem::Dependency
33
+ name: concurrent-ruby
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rack
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '1.6'
53
+ - - "<"
54
+ - !ruby/object:Gem::Version
55
+ version: '4'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '1.6'
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '4'
66
+ - !ruby/object:Gem::Dependency
67
+ name: rake
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '13.0'
73
+ type: :development
74
+ prerelease: false
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '13.0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - "~>"
85
+ - !ruby/object:Gem::Version
86
+ version: '3.12'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '3.12'
94
+ description: Standalone Ruby logging SDK implementing the iugu Logging Standard (ILS).
95
+ No third-party logging gem dependency. Compatible from Ruby 2.4 (platform Rails
96
+ 4.2) through Ruby 3.x (modern services).
97
+ email:
98
+ - eng-plataforma@iugu.com
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - LICENSE.md
104
+ - README.md
105
+ - lib/generators/iugu_logger/install/install_generator.rb
106
+ - lib/generators/iugu_logger/install/templates/iugu_logger.rb.tt
107
+ - lib/iugu_logger.rb
108
+ - lib/iugu_logger/buffer.rb
109
+ - lib/iugu_logger/configuration.rb
110
+ - lib/iugu_logger/job_logger.rb
111
+ - lib/iugu_logger/logger.rb
112
+ - lib/iugu_logger/pii.rb
113
+ - lib/iugu_logger/railtie.rb
114
+ - lib/iugu_logger/request_logger.rb
115
+ - lib/iugu_logger/schema.rb
116
+ - lib/iugu_logger/severity.rb
117
+ - lib/iugu_logger/smoke_test.rb
118
+ - lib/iugu_logger/tasks/iugu_logger.rake
119
+ - lib/iugu_logger/tenant_context.rb
120
+ - lib/iugu_logger/trace_context.rb
121
+ - lib/iugu_logger/version.rb
122
+ homepage: https://rubygems.org/gems/iugu_logger
123
+ licenses:
124
+ - Apache-2.0
125
+ metadata:
126
+ allowed_push_host: https://rubygems.org
127
+ rubygems_mfa_required: 'true'
128
+ rdoc_options: []
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '2.4'
136
+ required_rubygems_version: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ requirements: []
142
+ rubygems_version: 3.6.9
143
+ specification_version: 4
144
+ summary: Native iugu structured logging SDK — schema canonical, PII-aware, trace-context
145
+ aware.
146
+ test_files: []