diff options
| author | Sakarias Johansson <sakarias.johansson@goodbyekansas.com> | 2023-03-21 23:09:15 +0100 |
|---|---|---|
| committer | Sakarias Johansson <sakariasjohansson@hotmail.com> | 2023-04-05 19:38:04 +0200 |
| commit | 5b6e06928bbd5466d0c65149e8c7e44871e71a8c (patch) | |
| tree | 7165d767e67b99404e9b382a2494f46d4a6ea35f /racer-tracer/src/terminal.rs | |
| parent | ed8de4988d3f1c81bc4ca833c760dce1497e99d7 (diff) | |
| download | racer-tracer-5b6e06928bbd5466d0c65149e8c7e44871e71a8c.tar.gz racer-tracer-5b6e06928bbd5466d0c65149e8c7e44871e71a8c.tar.xz racer-tracer-5b6e06928bbd5466d0c65149e8c7e44871e71a8c.zip | |
📖 Add logging and term writes
println works for a while. Was time to set up something better. Worth
to not that there is a big difference between logging and writing to
the terminal which is why both slog and console was dragged in. Might
seem similar but purpose is not the same.
Most of the time the log is interesting during runtime but user
messages does not belong in the log.
Diffstat (limited to 'racer-tracer/src/terminal.rs')
| -rw-r--r-- | racer-tracer/src/terminal.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/racer-tracer/src/terminal.rs b/racer-tracer/src/terminal.rs new file mode 100644 index 0000000..48eb599 --- /dev/null +++ b/racer-tracer/src/terminal.rs @@ -0,0 +1,26 @@ +use console::Term; +use slog::Logger; + +pub struct Terminal { + pub logger: Logger, + pub terminal: Term, +} + +impl Terminal { + pub fn new(logger: Logger) -> Self { + Self { + logger, + terminal: Term::stdout(), + } + } +} + +macro_rules! write_term { + ($term:expr, $text:expr) => {{ + if let Err(e) = $term.terminal.write_line($text) { + debug!($term.logger, "Failed to write to terminal: {}", e) + } + }}; +} + +pub(crate) use write_term; |
