modcli/output/
hook.rs

1use crate::output::messages;
2use crate::output::print;
3#[cfg(feature = "tracing-logs")]
4use tracing::{debug as tdebug, error as terror, info as tinfo, warn as twarn};
5
6/// Hook for debug messages
7pub fn debug(msg: &str) {
8    let m = messages::intercept("debug", msg);
9    print::debug(&m);
10    #[cfg(feature = "tracing-logs")]
11    tdebug!(target: "modcli", message = %m);
12}
13
14/// Hook for info-level messages
15pub fn info(msg: &str) {
16    let m = messages::intercept("info", msg);
17    print::info(&m);
18    #[cfg(feature = "tracing-logs")]
19    tinfo!(target: "modcli", message = %m);
20}
21
22/// Hook for warning-level messages
23pub fn warn(msg: &str) {
24    let m = messages::intercept("warn", msg);
25    print::warn(&m);
26    #[cfg(feature = "tracing-logs")]
27    twarn!(target: "modcli", message = %m);
28}
29
30/// Hook for error-level messages
31pub fn error(msg: &str) {
32    let m = messages::intercept("error", msg);
33    print::error(&m);
34    #[cfg(feature = "tracing-logs")]
35    terror!(target: "modcli", message = %m);
36}
37
38/// Hook for success-level messages
39pub fn success(msg: &str) {
40    let m = messages::intercept("success", msg);
41    print::success(&m);
42    #[cfg(feature = "tracing-logs")]
43    tinfo!(target: "modcli", success = true, message = %m);
44}
45
46/// Hook for status-level messages
47pub fn status(msg: &str) {
48    let m = messages::intercept("status", msg);
49    print::status(&m);
50    #[cfg(feature = "tracing-logs")]
51    tinfo!(target: "modcli", status = true, message = %m);
52}
53
54/// Hook for deprecated messages
55pub fn deprecated(msg: &str) {
56    let m = messages::intercept("deprecated", msg);
57    print::deprecated(&m);
58    #[cfg(feature = "tracing-logs")]
59    twarn!(target: "modcli", deprecated = true, message = %m);
60}
61
62/// Hook for unknown command situations
63pub fn unknown(msg: &str) {
64    let m = messages::intercept("unknown", msg);
65    print::unknown(&m);
66    #[cfg(feature = "tracing-logs")]
67    twarn!(target: "modcli", unknown_command = true, message = %m);
68}