1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use crate::{
cli::LogCmd,
color::Color,
probe,
probe::{Log, Probe},
templates::Registry,
utils::{register_signals, ser_to_string},
};
use anyhow::{anyhow, Result};
use drone_config as config;
use std::convert::TryFrom;
pub fn run(cmd: LogCmd, color: Color) -> Result<()> {
let signals = register_signals()?;
let registry = Registry::new()?;
let config = config::Config::read_from_current_dir()?;
let probe = Probe::try_from(&config)?;
let log = Log::try_from(&config)?;
probe::log(probe, log).ok_or_else(|| {
anyhow!(
"`{}` log with `{}` probe is not supported",
ser_to_string(probe),
ser_to_string(log)
)
})?(cmd, signals, registry, config, color)
}