mladedav/tracing-reload — explained in plain English
Analysis updated 2026-05-18
Change a running Rust service's log level without restarting it.
Replace tracing_subscriber's built in reload layer when it crashes with certain layers.
Swap an entire logging layer configuration in wholesale at runtime.
Add safer, reload-capable logging to a long running Rust backend service.
| mladedav/tracing-reload | adsharma/ast-grep | codeitlikemiley/antigravity-sdk-rust | |
|---|---|---|---|
| Stars | 3 | 3 | 3 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | easy | hard |
| Complexity | 2/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Rust 1.85 or newer and an existing tracing_subscriber based logging setup.
tracing-reload is a small Rust library aimed at developers who use the popular tracing logging and diagnostics system in Rust programs. It solves a narrow but real problem: it lets a program change its logging setup, such as which log levels are shown, while the program is already running, without needing to restart it. Rust's tracing_subscriber library already has a similar feature built in, called reload::Layer, but that existing tool has a limitation. It cannot be safely combined with certain other logging layers, specifically ones that rely on a technique called downcasting to inspect what type of layer they are dealing with, and doing so can cause the program to crash. tracing-reload is built to be a drop-in style replacement that avoids that crash while working with a wider range of layers. The tradeoff is that this library does not support modifying a layer's settings in place the way the original tool does. Instead of adjusting the existing layer, a user creates a brand new layer configuration and swaps it in wholesale using a reload method. The README shows this side by side with the original library's approach, so a developer already familiar with tracing_subscriber can see exactly what changes in their code. The project requires a fairly recent Rust compiler, following the same support policy as the well known Tokio project, meaning it supports the current stable Rust release plus the three versions before it. The author also tries to keep support in line with whatever version ships in current Debian stable. This project is aimed squarely at Rust developers already using the tracing ecosystem for logging, not general application developers or non-technical users. It is released under the MIT license, a permissive license that allows free use, including in commercial software, as long as the original copyright notice is kept.
A small Rust library that lets a running program safely change its logging configuration on the fly, without the crashes that the standard tracing reload tool can cause.
Mainly Rust. The stack also includes Rust, tracing, tracing-subscriber.
Released under the MIT license, which allows free use, modification, and commercial use as long as the original copyright notice is kept.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.