Skip to content

feat(log): add --log-user-agent option to log User-Agent header - #750

Open
TheBigUserOne wants to merge 1 commit into
static-web-server:masterfrom
TheBigUserOne:fix/issue-576-log-user-agent
Open

TheBigUserOne wants to merge 1 commit into
static-web-server:masterfrom
TheBigUserOne:fix/issue-576-log-user-agent

Conversation

@TheBigUserOne

Copy link
Copy Markdown

Summary

Closes #576.

Adds a --log-user-agent CLI flag (env: SERVER_LOG_USER_AGENT, TOML: log_user_agent) to include the User-Agent request header in access logs.

Changes

Follows the exact same pattern as --log-remote-address, --log-x-real-ip, and --log-forwarded-for:

  1. Added log_user_agent: bool field to RequestHandlerOpts
  2. Extract User-Agent header in log_addr::pre_process() when enabled
  3. Added to the tracing::info! span alongside other address fields

Files changed

  • src/handler.rs — added log_user_agent field to RequestHandlerOpts
  • src/log_addr.rs — extract and log User-Agent header
  • src/settings/cli.rs — added --log-user-agent CLI option
  • src/settings/file.rs — added TOML config option
  • src/settings/mod.rs — wired config file override
  • src/server/opts.rs — wired to handler opts
  • src/testing.rs — updated test helper

Usage

static-web-server --log-user-agent
# or
SERVER_LOG_USER_AGENT=true static-web-server

TOML:

[general]
log-user-agent = true

@semanticdiff-com

semanticdiff-com Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Review changes with  SemanticDiff

Changed Files
File Status
  src/handler.rs  0% smaller
  src/log_addr.rs  0% smaller
  src/server/opts.rs  0% smaller
  src/settings/cli.rs  0% smaller
  src/settings/file.rs  0% smaller
  src/settings/mod.rs  0% smaller
  src/testing.rs  0% smaller

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Log request user agent

1 participant