fix: logs not being integrated with the path-prefix correctly#2549
fix: logs not being integrated with the path-prefix correctly#2549CommanderStorm merged 21 commits intomaplibre:mainfrom
path-prefix correctly#2549Conversation
There was a problem hiding this comment.
Pull request overview
This PR adjusts Martin’s startup log messages so the URLs it prints (Catalog + Web UI) correctly include the configured server route_prefix (the path prefix Martin is mounted under).
Changes:
- Incorporate
config.srv.route_prefixinto the logged “base URL” used for/catalogand Web UI messages. - Improve the startup log line to explicitly mention when a route prefix is in effect.
- Minor import consolidation in tile content code.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
martin/src/srv/tiles/content.rs |
Consolidates related server imports into a single grouped use. |
martin/src/bin/martin.rs |
Builds a base_url that includes route_prefix (when set) and uses it in startup and Web UI log output. |
nyurik
left a comment
There was a problem hiding this comment.
looks ok, but do consider my other comments before merging
martin/src/bin/martin.rs
Outdated
| #[cfg(all(feature = "webui", not(docsrs)))] | ||
| if web_ui_mode == martin::config::args::WebUiMode::EnableForAll { | ||
| tracing::warn!("Web UI is enabled for all connections at http://{listen_addresses}/"); | ||
| tracing::warn!("Web UI is enabled for all connections at {base_url}/"); |
There was a problem hiding this comment.
probably better not to have a trailing slash?
There was a problem hiding this comment.
No, that is required. Otherwise our UI does not work
| #[cfg(all(feature = "webui", not(docsrs)))] | ||
| if web_ui_mode == martin::config::args::WebUiMode::EnableForAll { | ||
| tracing::warn!("Web UI is enabled for all connections at http://{listen_addresses}/"); | ||
| tracing::info!("Martin server is now active at {base_url}"); |
There was a problem hiding this comment.
why do we use both info! and tracing::info! in the same file?
There was a problem hiding this comment.
this here is guarded by the cfg, the other is imported actually.
Since we have the no-unused imports, it is either this or ugly/hard to maintain cfg imports at the top
There was a problem hiding this comment.
we may want to even add a comment about that - as i think i caught this one before too :)
## 🤖 New release
* `martin-tile-utils`: 0.6.9 -> 0.6.10 (✓ API compatible changes)
* `mbtiles`: 0.15.1 -> 0.15.2 (✓ API compatible changes)
* `martin-core`: 0.2.6 -> 0.3.0 (⚠ API breaking changes)
* `martin`: 1.3.0 -> 2.0.0
### ⚠ `martin-core` breaking changes
```text
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_missing.ron
Failed in:
enum martin_core::config::OptOneMany, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/cfg_containers.rs:29
enum martin_core::config::OptBoolObj, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/cfg_containers.rs:8
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/module_missing.ron
Failed in:
mod martin_core::config, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/mod.rs:1
mod martin_core::config::env, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/env.rs:1
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/struct_missing.ron
Failed in:
struct martin_core::config::env::OsEnv, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/env.rs:53
struct martin_core::config::IdResolver, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/id_resolver.rs:10
struct martin_core::config::env::FauxEnv, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/env.rs:76
--- failure trait_missing: pub trait removed or renamed ---
Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/trait_missing.ron
Failed in:
trait martin_core::config::env::Env, previously in file /tmp/.tmpiF3o7Z/martin-core/src/config/env.rs:20
```
<details><summary><i><b>Changelog</b></i></summary><p>
## `mbtiles`
<blockquote>
##
[0.15.2](mbtiles-v0.15.1...mbtiles-v0.15.2)
- 2026-02-11
### Other
- restrict `unused_trait_names` for trait imports
([#2542](#2542))
</blockquote>
## `martin-core`
<blockquote>
##
[0.3.0](martin-core-v0.2.6...martin-core-v0.3.0)
- 2026-02-11
### Added
- *(unstable-cog)* Change tile path semantics for COG sources to match
other sources, expose COG bounds, center and tileSize in TileJSON
([#2510](#2510))
### Other
- *(martin-core)* [**breaking**] remove the configration from the
martin-core crate
([#2521](#2521))
- restrict `unused_trait_names` for trait imports
([#2542](#2542))
</blockquote>
## `martin`
<blockquote>
##
[2.0.0](martin-v1.3.0...martin-v2.0.0)
- 2026-02-11
### Added
- *(srv)* Add HTTP 301 redirects for common URL mistakes
([#2528](#2528))
- *(unstable-cog)* Change tile path semantics for COG sources to match
other sources, expose COG bounds, center and tileSize in TileJSON
([#2510](#2510))
### Fixed
- logs not being integrated with the `path-prefix` correctly
([#2549](#2549))
- Make sure that `route-prefix` does not break the UI when using
trailing slash urls
([#2541](#2541))
### Other
- *(deps)* Bump the all-npm-version-updates group across 2 directories
with 7 updates ([#2553](#2553))
- Add test coverage for header handling in tilejson requests
([#2529](#2529))
- *(martin-core)* [**breaking**] remove the configration from the
martin-core crate
([#2521](#2521))
- *(deps)* autoupdate pre-commit
([#2545](#2545))
- restrict `unused_trait_names` for trait imports
([#2542](#2542))
- *(deps)* Bump the all-npm-version-updates group across 2 directories
with 12 updates ([#2533](#2533))
</blockquote>
</p></details>
---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Resolves #2548