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.
- checksums.yaml +7 -0
- data/LICENSE.md +202 -0
- data/README.md +379 -0
- data/lib/generators/iugu_logger/install/install_generator.rb +44 -0
- data/lib/generators/iugu_logger/install/templates/iugu_logger.rb.tt +52 -0
- data/lib/iugu_logger/buffer.rb +97 -0
- data/lib/iugu_logger/configuration.rb +76 -0
- data/lib/iugu_logger/job_logger.rb +171 -0
- data/lib/iugu_logger/logger.rb +247 -0
- data/lib/iugu_logger/pii.rb +291 -0
- data/lib/iugu_logger/railtie.rb +95 -0
- data/lib/iugu_logger/request_logger.rb +257 -0
- data/lib/iugu_logger/schema.rb +168 -0
- data/lib/iugu_logger/severity.rb +44 -0
- data/lib/iugu_logger/smoke_test.rb +172 -0
- data/lib/iugu_logger/tasks/iugu_logger.rake +13 -0
- data/lib/iugu_logger/tenant_context.rb +53 -0
- data/lib/iugu_logger/trace_context.rb +210 -0
- data/lib/iugu_logger/version.rb +5 -0
- data/lib/iugu_logger.rb +68 -0
- metadata +146 -0
data/lib/iugu_logger.rb
ADDED
|
@@ -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: []
|