Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
b30ad17
add structured json logging format
Esity Mar 13, 2026
c22956d
rubocop -A auto-corrections
Esity Mar 13, 2026
9a13071
add spec exclusion for metrics/blocklength
Esity Mar 13, 2026
f888dd8
reindex documentation to reflect current codebase
Esity Mar 13, 2026
c963750
fix caller format parsing for ruby 3.4 using location attributes
Esity Mar 13, 2026
cf46641
switch to org-level reusable ci workflow
Esity Mar 13, 2026
34ab9df
reindex documentation to reflect current codebase state
Esity Mar 13, 2026
819e710
add multi-io for simultaneous stdout+file logging, bump version
Esity Mar 14, 2026
4aca6eb
trigger ci with updated shared workflow
Esity Mar 15, 2026
fb64383
add release job to ci workflow
Esity Mar 15, 2026
aa69b26
add siem log exporter with phi redaction for splunk and elk
Esity Mar 17, 2026
2781761
support bracketed segment tags in log output
Esity Mar 17, 2026
cb923b7
Merge pull request #1 from LegionIO/feature/lex-namespace-restructuring
Esity Mar 17, 2026
80d1224
expand ~ in log_file paths and auto-create parent directories
Esity Mar 18, 2026
6914d91
expand ~ in log_file paths and auto-create parent directories
Esity Mar 18, 2026
c7e76f9
Merge branch 'feature/lex-namespace-restructuring'
Esity Mar 18, 2026
292e3ea
add logger gem dependency for ruby 4.0 compatibility
Esity Mar 19, 2026
46b5a1f
add logger to gemfile for ci cache compatibility
Esity Mar 19, 2026
5bd1472
update docs to reflect v1.2.5
Esity Mar 19, 2026
f272bba
add SIEM log shipping with PII/PHI redaction
Esity Mar 21, 2026
da54163
add hook registry for logging callbacks
Esity Mar 22, 2026
e58f968
add event builder for structured log hook payloads
Esity Mar 22, 2026
e962db6
wire hook dispatch into fatal, error, and warn methods
Esity Mar 22, 2026
ed41e70
bump to 1.2.7, add changelog for hook system
Esity Mar 22, 2026
18a943e
update CLAUDE.md with hooks and event builder docs
Esity Mar 22, 2026
10492e0
add logging to silent rescue blocks
Esity Mar 22, 2026
fe69c16
add async logging via SizedQueue writer thread (#3)
Esity Mar 22, 2026
48fbe22
fix Settings[] multi-arg calls — use .dig for nested key access
Esity Mar 22, 2026
80e04d0
add Legion::Logging::Helper module for injectable log mixin (v1.3.2)
Esity Mar 23, 2026
5aa162b
fix specs to explicitly set async: false for stdout capture tests
Esity Mar 24, 2026
202c5d8
reindex docs: update to v1.3.2, add AsyncWriter and Helper module docs
Esity Mar 24, 2026
5c5fff4
bump version to 1.3.3 for release
Esity Mar 24, 2026
07c0f85
fix gem lookup in EventBuilder — try lex-/legion- prefixes (1.3.4)
Esity Mar 24, 2026
51ef68e
wire Redactor into log write path behind logging.redaction.enabled flag
Esity Mar 25, 2026
49b0706
fix recursive settings init: guard redaction_enabled? against Loader …
Esity Mar 25, 2026
04fb462
bump version to 1.3.5, update CHANGELOG for redaction write-path wiring
Esity Mar 25, 2026
86c7653
add repo governance files (CODEOWNERS, dependabot, CI)
Esity Mar 25, 2026
2606f3c
add build_exception and fingerprint to EventBuilder
Esity Mar 27, 2026
4e65683
replace hooks system with writer lambdas
Esity Mar 27, 2026
97b227b
add vault token, JWT, lease ID, and URI patterns to redactor
Esity Mar 27, 2026
200d603
add log_exception method with rich event publishing
Esity Mar 27, 2026
60abc56
bump version to 1.4.0, update changelog
Esity Mar 27, 2026
4e48a9a
update readme for 1.4.0 structured exception logging
Esity Mar 27, 2026
ac405a2
apply copilot review suggestions (#4)
Esity Mar 27, 2026
0b05c18
apply copilot review suggestions round 2 (#4)
Esity Mar 27, 2026
6ab8aaa
apply copilot review suggestions round 3 (#4)
Esity Mar 27, 2026
32a0a7b
clarify redactor opt-in requirement in README (#4)
Esity Mar 27, 2026
98b5d1d
Merge pull request #4 from LegionIO/feature/structured-exception-logging
Esity Mar 27, 2026
a418cf2
add event category registration mechanism (closes #5)
Esity Mar 29, 2026
7c64253
Merge pull request #6 from LegionIO/feature/structured-exception-logging
Esity Mar 29, 2026
d4f7d6f
fix: resolve #7 - swarm automated fix (#8)
Esity Mar 29, 2026
16ff45d
fix rubocop anonymous block forwarding and semicolon offenses
Esity Mar 29, 2026
f4e53d1
clean up dev dependencies: add rubocop-legion
Esity Mar 31, 2026
772c22a
refactor logging helper: shared output, segment tagging, exception ha…
Esity Apr 1, 2026
ad36465
add lint, security, version-changelog, dependency-review, stale CI jobs
Esity Apr 1, 2026
ce264aa
apply copilot review suggestions (#9)
Esity Apr 1, 2026
f60b2c5
bump version to 1.4.3, add changelog, fix ::Process in specs
Esity Apr 1, 2026
7ef729d
apply copilot review suggestions (#9)
Esity Apr 1, 2026
954fbf1
cache nil gem spec lookups to prevent repeated failed lookups (#9)
Esity Apr 1, 2026
f7612d7
apply copilot review suggestions (#9)
Esity Apr 1, 2026
2442762
apply copilot review suggestions (#9)
Esity Apr 1, 2026
fd96dfa
Merge pull request #9 from LegionIO/feature/logging-helper-refactor
Esity Apr 1, 2026
d290449
improve logging setup defaults
Esity Apr 2, 2026
3f1df72
respect component logger configuration
Esity Apr 2, 2026
5c3ee61
bump version to 1.5.0
Esity Apr 2, 2026
aadf23a
fix async writer and shipper delivery
Esity Apr 2, 2026
d7f7005
close structured logging redaction gaps
Esity Apr 2, 2026
a0a88c3
address copilot review feedback
Esity Apr 2, 2026
1d39f1b
Merge pull request #14 from LegionIO/dev-v-1.5.0
Esity Apr 2, 2026
fa14ff4
add method tracer, backtrace formatting in log_exception, and helper …
Esity Apr 8, 2026
89485d6
bump version to 1.5.1
Esity Apr 8, 2026
67a0c1e
apply copilot review suggestions (#15)
Esity Apr 8, 2026
4312429
Merge pull request #15 from LegionIO/feature/add-method-tracer-backtr…
Esity Apr 8, 2026
cdb54b7
preserve full exception backtraces
Esity Apr 28, 2026
a854676
document full exception backtraces
Esity Apr 28, 2026
c4a4265
Merge pull request #16 from LegionIO/fix/full-exception-backtraces
Esity Apr 28, 2026
dfbd2fe
Add configurable backtrace_limit to reduce log noise on expected fail…
Esity May 13, 2026
16b6433
Merge pull request #17 from LegionIO/feature/backtrace-limit
Esity May 13, 2026
6244a01
Add identity headers to logging events
Esity May 22, 2026
354d6c3
Merge pull request #18 from LegionIO/feat/logging-identity-headers
Esity May 22, 2026
02590a2
route all logging through async writer, eliminating IO mutex contention
Esity May 27, 2026
7f3d470
Merge pull request #19 from LegionIO/feature/async-emit-tagged
Esity May 27, 2026
10771d5
add task_id, conv_id, request_id context to log output
Esity Jun 1, 2026
8ac4d8e
add exchange_id and chain_id kwargs; add **_ctx splat for resilience
Esity Jun 1, 2026
6d28ec7
fix nested extension settings lookup in legion_component_settings
Esity Jun 1, 2026
36c371c
initialize prev=[] before snapshot in with_entry_context
Esity Jun 1, 2026
d0aa18b
harden SIEMExporter, MultiIO, and Hooks against edge-case failures
Esity Jun 1, 2026
b6cf893
route Helper exceptions through async writer; fix Shipper deadlock; e…
Esity Jun 1, 2026
7bbacde
remove redundant prev=[] initialization per CodeQL
Esity Jun 1, 2026
1b71741
use safe navigation on prev in ensure to satisfy both CodeQL checks
Esity Jun 1, 2026
dde2745
move correlation kv pairs after message content in text format
Esity Jun 1, 2026
47e5942
Merge pull request #20 from LegionIO/feature/context-id-logging
Esity Jun 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Auto-generated from team-config.yml
# Team: core
#
# To apply: scripts/apply-codeowners.sh legion-logging

* @LegionIO/maintainers
* @LegionIO/core
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: bundler
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
labels:
- "type:dependencies"
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
labels:
- "type:dependencies"
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI
on:
push:
branches: [main]
pull_request:
schedule:
- cron: '0 9 * * 1'

jobs:
ci:
uses: LegionIO/.github/.github/workflows/ci.yml@main

lint:
uses: LegionIO/.github/.github/workflows/lint-patterns.yml@main

security:
uses: LegionIO/.github/.github/workflows/security-scan.yml@main

version-changelog:
uses: LegionIO/.github/.github/workflows/version-changelog.yml@main

dependency-review:
uses: LegionIO/.github/.github/workflows/dependency-review.yml@main

stale:
if: github.event_name == 'schedule'
uses: LegionIO/.github/.github/workflows/stale.yml@main

release:
needs: [ci, lint]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: LegionIO/.github/.github/workflows/release.yml@main
secrets:
rubygems-api-key: ${{ secrets.RUBYGEMS_API_KEY }}
69 changes: 0 additions & 69 deletions .github/workflows/rspec.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/rubocop-analysis.yml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/sourcehawk-scan.yml

This file was deleted.

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
/tmp/
/legion/.idea/
/.idea/
*.gem
*.key
# rspec failure tracking
.rspec_status
legionio.key
legionio.key
53 changes: 43 additions & 10 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,53 @@
AllCops:
TargetRubyVersion: 3.4
NewCops: enable
SuggestExtensions: false

Layout/LineLength:
Max: 120
Max: 160

Layout/SpaceAroundEqualsInParameterDefault:
EnforcedStyle: space

Layout/HashAlignment:
EnforcedHashRocketStyle: table
EnforcedColonStyle: table

Metrics/MethodLength:
Max: 30
Max: 50

Metrics/ParameterLists:
CountKeywordArgs: false

Metrics/ClassLength:
Max: 1500

Metrics/ModuleLength:
Max: 1500

Metrics/BlockLength:
Max: 75
Max: 40
Exclude:
- 'spec/**/*'

Metrics/AbcSize:
Max: 60

Metrics/CyclomaticComplexity:
Max: 9
Max: 15

Metrics/PerceivedComplexity:
Max: 17

Style/Documentation:
Enabled: false
AllCops:
TargetRubyVersion: 2.6
NewCops: enable
SuggestExtensions: false

Style/SymbolArray:
Enabled: true

Style/FrozenStringLiteralComment:
Enabled: false
Gemspec/RequiredRubyVersion:
Enabled: true
EnforcedStyle: always

Naming/FileName:
Enabled: false
Loading
Loading