mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
Log always to trace; may be disabled
This commit is contained in:
12
src/main.rs
12
src/main.rs
@@ -82,12 +82,11 @@ fn main() {
|
|||||||
let mut remote_wrkdir: Option<PathBuf> = None;
|
let mut remote_wrkdir: Option<PathBuf> = None;
|
||||||
let mut protocol: FileTransferProtocol = FileTransferProtocol::Sftp; // Default protocol
|
let mut protocol: FileTransferProtocol = FileTransferProtocol::Sftp; // Default protocol
|
||||||
let mut ticks: Duration = Duration::from_millis(10);
|
let mut ticks: Duration = Duration::from_millis(10);
|
||||||
let mut log_level: Option<logging::LevelFilter> = Some(logging::LevelFilter::Info);
|
let mut log_enabled: bool = true;
|
||||||
//Process options
|
//Process options
|
||||||
let mut opts = Options::new();
|
let mut opts = Options::new();
|
||||||
opts.optopt("P", "password", "Provide password from CLI", "<password>");
|
opts.optopt("P", "password", "Provide password from CLI", "<password>");
|
||||||
opts.optopt("T", "ticks", "Set UI ticks; default 10ms", "<ms>");
|
opts.optopt("T", "ticks", "Set UI ticks; default 10ms", "<ms>");
|
||||||
opts.optflag("D", "debug", "Enable debug log level");
|
|
||||||
opts.optflag("q", "quiet", "Disable logging");
|
opts.optflag("q", "quiet", "Disable logging");
|
||||||
opts.optflag("v", "version", "");
|
opts.optflag("v", "version", "");
|
||||||
opts.optflag("h", "help", "Print this menu");
|
opts.optflag("h", "help", "Print this menu");
|
||||||
@@ -113,10 +112,7 @@ fn main() {
|
|||||||
}
|
}
|
||||||
// Logging
|
// Logging
|
||||||
if matches.opt_present("q") {
|
if matches.opt_present("q") {
|
||||||
log_level = None;
|
log_enabled = false;
|
||||||
}
|
|
||||||
if matches.opt_present("D") {
|
|
||||||
log_level = Some(logging::LevelFilter::Trace);
|
|
||||||
}
|
}
|
||||||
// Match password
|
// Match password
|
||||||
if let Some(passwd) = matches.opt_str("P") {
|
if let Some(passwd) = matches.opt_str("P") {
|
||||||
@@ -169,8 +165,8 @@ fn main() {
|
|||||||
Err(_) => PathBuf::from("/"),
|
Err(_) => PathBuf::from("/"),
|
||||||
};
|
};
|
||||||
// Setup logging
|
// Setup logging
|
||||||
if let Some(log_level) = log_level {
|
if log_enabled {
|
||||||
if let Err(err) = logging::init(log_level) {
|
if let Err(err) = logging::init() {
|
||||||
eprintln!("Failed to initialize logging: {}", err);
|
eprintln!("Failed to initialize logging: {}", err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,15 +29,14 @@
|
|||||||
use crate::system::environment::{get_log_paths, init_config_dir};
|
use crate::system::environment::{get_log_paths, init_config_dir};
|
||||||
use crate::utils::file::open_file;
|
use crate::utils::file::open_file;
|
||||||
// ext
|
// ext
|
||||||
pub use simplelog::LevelFilter;
|
use simplelog::{ConfigBuilder, LevelFilter, WriteLogger};
|
||||||
use simplelog::{ConfigBuilder, WriteLogger};
|
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
/// ### init
|
/// ### init
|
||||||
///
|
///
|
||||||
/// Initialize logger
|
/// Initialize logger
|
||||||
pub fn init(log_level: LevelFilter) -> Result<(), String> {
|
pub fn init() -> Result<(), String> {
|
||||||
// Init config dir
|
// Init config dir
|
||||||
let config_dir: PathBuf = match init_config_dir() {
|
let config_dir: PathBuf = match init_config_dir() {
|
||||||
Ok(Some(p)) => p,
|
Ok(Some(p)) => p,
|
||||||
@@ -57,7 +56,7 @@ pub fn init(log_level: LevelFilter) -> Result<(), String> {
|
|||||||
.set_time_format_str("%Y-%m-%dT%H:%M:%S%z")
|
.set_time_format_str("%Y-%m-%dT%H:%M:%S%z")
|
||||||
.build();
|
.build();
|
||||||
// Make logger
|
// Make logger
|
||||||
WriteLogger::init(log_level, config, file)
|
WriteLogger::init(LevelFilter::Trace, config, file)
|
||||||
.map_err(|e| format!("Failed to initialize logger: {}", e))
|
.map_err(|e| format!("Failed to initialize logger: {}", e))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,6 +67,6 @@ mod test {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_system_logging_setup() {
|
fn test_system_logging_setup() {
|
||||||
assert!(init(LevelFilter::Trace).is_ok());
|
assert!(init().is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user