Skip to content

Commit 5f70f27

Browse files
committed
moved some config settings out of integrations to the root config
1 parent 2a9893c commit 5f70f27

12 files changed

Lines changed: 32 additions & 38 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
- Generate Sorbet RBI files: `scripts/tapioca.rb`
4444
- Generate spellcheck dictionary: `scripts/generate_lockfile_words.sh`
45-
- Generate TypeScript types from Ruby log structs: `scripts/export_typescript_types.rb`
45+
- Generate TypeScript structs from YAML schemas: `scripts/generate_typescript_structs.rb`
4646

4747
## Terraform Provider repo in this workspace
4848

@@ -72,7 +72,7 @@
7272
- The workflow builds the gem and provider, shows diffs, and skips pushes/tags/uploads.
7373
- Local dry-run for the GitHub Actions workflow isn’t practical without a runner like `act`. You can still sanity-check pieces locally:
7474
- `gem build logstruct.gemspec`
75-
- `ruby scripts/export_typescript_types.rb`
75+
- `ruby scripts/generate_typescript_structs.rb`
7676
- `ruby scripts/export_provider_catalog.rb`
7777
- `cd terraform-provider-logstruct && go build ./...`
7878

INTEGRATIONS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
- The Integrations page lists all `AllLogTypes` with titles/descriptions from `site/lib/integration-helpers.ts`.
103103
- Add an entry to `getLogTypeInfo` for your new log type (title, concise description, optional `configuration_code: 'integrations_configuration'`).
104104
- Run the type export to regenerate the docs’ TypeScript assets so example logs render:
105-
- `ruby scripts/export_typescript_types.rb`
105+
- `ruby scripts/generate_typescript_structs.rb`
106106

107107
8. Sorbet + CI
108108
- Run `scripts/typecheck.sh` (must be clean).
@@ -138,6 +138,6 @@
138138

139139
- `bundle install`
140140
- `bundle exec tapioca gems`
141-
- `ruby scripts/export_typescript_types.rb`
141+
- `ruby scripts/generate_typescript_structs.rb`
142142
- `scripts/typecheck.sh`
143143
- `scripts/test.rb` and (optionally) `scripts/rails_tests.sh`

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ Once initialized (and enabled), the gem automatically includes its modules into
6666

6767
```ruby
6868
LogStruct.configure do |c|
69-
c.integrations.prefer_json_in_development = false
70-
c.integrations.enable_color_output = true
69+
c.prefer_json_in_development = false
70+
c.enable_color_output = true
7171
end
7272
```
7373

lefthook.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ pre-commit:
1717
run: cd site && pnpm exec tsc --noEmit
1818

1919
- name: typescript-export
20-
glob: 'lib/**/*.rb'
21-
run: scripts/export_typescript_types.rb
20+
glob: '{schemas/log_sources/**/*,lib/log_struct/enums.rb,lib/log_struct/enums/*.rb,scripts/generate_typescript_structs.rb}'
21+
run: scripts/generate_typescript_structs.rb
2222

2323
- name: codegen-sync
2424
glob: '{schemas/log_sources/**/*,scripts/templates/generate_log_structs/**/*,scripts/generate_log_structs.rb}'

lib/log_struct/config_struct/integrations.rb

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,24 +60,6 @@ class Integrations < T::Struct
6060
# Default: true
6161
prop :enable_semantic_logger, T::Boolean, default: true
6262

63-
# Enable colored JSON output in development
64-
# Default: true
65-
prop :enable_color_output, T::Boolean, default: true
66-
67-
# Prefer production-style JSON output in development when LogStruct is enabled.
68-
# This makes it easy to preview exactly what production logs will look like
69-
# when you opt-in to LogStruct locally (via LOGSTRUCT_ENABLED=true or config).
70-
# Default: true
71-
prop :prefer_json_in_development, T::Boolean, default: true
72-
73-
# Color configuration for JSON output
74-
# Default: nil (uses SemanticLogger defaults)
75-
prop :color_map, T.nilable(T::Hash[Symbol, Symbol]), default: nil
76-
77-
# Filter noisy loggers (ActionView, etc.)
78-
# Default: false
79-
prop :filter_noisy_loggers, T::Boolean, default: false
80-
8163
# Enable SQL query logging through ActiveRecord instrumentation
8264
# Default: false (can be resource intensive)
8365
prop :enable_sql_logging, T::Boolean, default: false

lib/log_struct/configuration.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ class Configuration < T::Struct
2020
prop :enabled, T::Boolean, default: true
2121
prop :enabled_environments, T::Array[Symbol], factory: -> { [:test, :production] }
2222
prop :local_environments, T::Array[Symbol], factory: -> { [:development, :test] }
23+
24+
# Prefer production-style JSON in development when LogStruct is enabled
25+
prop :prefer_json_in_development, T::Boolean, default: true
26+
27+
# Enable colorful human formatter in development
28+
prop :enable_color_output, T::Boolean, default: true
29+
30+
# Custom color map for the color formatter
31+
prop :color_map, T.nilable(T::Hash[Symbol, Symbol]), default: nil
32+
33+
# Filter noisy loggers (ActionView, etc.)
34+
prop :filter_noisy_loggers, T::Boolean, default: false
35+
2336
const :integrations, ConfigStruct::Integrations, factory: -> { ConfigStruct::Integrations.new }
2437
const :filters, ConfigStruct::Filters, factory: -> { ConfigStruct::Filters.new }
2538

lib/log_struct/semantic_logger/setup.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,19 +120,19 @@ def self.add_appenders(app)
120120
io = determine_output(app)
121121

122122
if Rails.env.development?
123-
if config.integrations.prefer_json_in_development
123+
if config.prefer_json_in_development
124124
# Default to production-style JSON in development when enabled
125125
::SemanticLogger.add_appender(
126126
io: io,
127127
formatter: LogStruct::SemanticLogger::Formatter.new,
128128
filter: determine_filter
129129
)
130-
elsif config.integrations.enable_color_output
130+
elsif config.enable_color_output
131131
# Opt-in colorful human formatter in development
132132
::SemanticLogger.add_appender(
133133
io: io,
134134
formatter: LogStruct::SemanticLogger::ColorFormatter.new(
135-
color_map: config.integrations.color_map
135+
color_map: config.color_map
136136
),
137137
filter: determine_filter
138138
)
@@ -180,7 +180,7 @@ def self.determine_output(app)
180180
def self.determine_filter
181181
# Filter out noisy loggers if configured
182182
config = LogStruct.config
183-
return nil unless config.integrations.filter_noisy_loggers
183+
return nil unless config.filter_noisy_loggers
184184

185185
# Common noisy loggers to filter
186186
/\A(ActionView|ActionController::RoutingError|ActiveRecord::SchemaMigration)/

rails_test_app/templates/test/test_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def perform_enqueued_jobs
6161
LogStruct.configure do |config|
6262
config.enabled = true
6363
# Prefer production-style JSON in development/test
64-
config.integrations.prefer_json_in_development = true
64+
config.prefer_json_in_development = true
6565
end
6666
rescue NameError
6767
# LogStruct not loaded; ignore

scripts/all_check.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ set -e
55
echo "===> Running Sorbet"
66
scripts/typecheck.sh
77

8-
echo "===> Running LogStruct TypeScript Export"
9-
scripts/export_typescript_types.rb
8+
echo "===> Checking LogStruct TypeScript structs"
9+
scripts/generate_typescript_structs.rb >/dev/null
1010

1111
echo "===> Running TypeScript"
1212
(cd site && npx tsc --noEmit)

scripts/all_write.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ set -e
55
echo "===> Running Sorbet"
66
scripts/typecheck.sh
77

8-
echo "===> Running LogStruct TypeScript Export"
9-
scripts/export_typescript_types.rb
8+
echo "===> Generating LogStruct TypeScript structs"
9+
scripts/generate_typescript_structs.rb
1010

1111
echo "===> Running TypeScript"
1212
(cd site && npx tsc --noEmit)

0 commit comments

Comments
 (0)