Configuration and Runtime Flags
Runtime Flags
Combine Modes
A runtime mode can combine a dry-run flag with a selected log level to describe behavior clearly.
Program
Play the program to choose a log level and see the resulting mode label.
feature_flag_matrix.rs
Replay: real traced execution (multi-file project)
fn main() {
let dry_run = true;
let log_level = "normal";
let label = match (dry_run, log_level) {
(true, "debug") => "dry-run debug",
(true, "quiet") => "dry-run quiet",
(true, _) => "dry-run",
(false, "debug") => "live debug",
_ => "live",
};
println!("{label}");
}
fn main() {
let dry_run = true;
let log_level = "quiet";
let label = match (dry_run, log_level) {
(true, "debug") => "dry-run debug",
(true, "quiet") => "dry-run quiet",
(true, _) => "dry-run",
(false, "debug") => "live debug",
_ => "live",
};
println!("{label}");
}
fn main() {
let dry_run = true;
let log_level = "debug";
let label = match (dry_run, log_level) {
(true, "debug") => "dry-run debug",
(true, "quiet") => "dry-run quiet",
(true, _) => "dry-run",
(false, "debug") => "live debug",
_ => "live",
};
println!("{label}");
}
dry_run ← true, log_level ← "normal", label ← "dry-run"
1fn main() {2 let dry_ru→ truen = true;3 let log_leve→ "normal"l = "normal"; //@log_level="normal", "quiet", "debug"4 let labe→ "dry-run"l = match (dry_rutruen, log_leve"normal"l) {5 (true, "debug") => "dry-run debug",6 (true, "quiet") => "dry-run quiet",7 (true, _) => "dry-run",8 (false, "debug") => "live debug",9 _ => "live",10 };11 println!("{label}");12}outputdry-run
dry_run ← true, log_level ← "quiet", label ← "dry-run quiet"
1fn main() {2 let dry_ru→ truen = true;3 let log_leve→ "quiet"l = "quiet";4 let labe→ "dry-run quiet"l = match (dry_rutruen, log_leve"quiet"l) {5 (true, "debug") => "dry-run debug",6 (true, "quiet") => "dry-run quiet",7 (true, _) => "dry-run",8 (false, "debug") => "live debug",9 _ => "live",10 };11 println!("{label}");12}outputdry-run quiet
dry_run ← true, log_level ← "debug", label ← "dry-run debug"
1fn main() {2 let dry_ru→ truen = true;3 let log_leve→ "debug"l = "debug";4 let labe→ "dry-run debug"l = match (dry_rutruen, log_leve"debug"l) {5 (true, "debug") => "dry-run debug",6 (true, "quiet") => "dry-run quiet",7 (true, _) => "dry-run",8 (false, "debug") => "live debug",9 _ => "live",10 };11 println!("{label}");12}outputdry-run debug
flag
`dry_run` is a boolean flag that changes whether work is only simulated.
mode value
`log_level` is a string mode selected at runtime.
match table
Matching the pair keeps the flag matrix explicit and readable.