+fn main() -> Result<()> {
+ let is_debug = cfg!(debug_assertions);
+
+ flexi_logger::Logger::try_with_str(if is_debug { "debug" } else { "info" })?
+ .log_to_file(
+ flexi_logger::FileSpec::default()
+ .directory(dirs::config_dir().unwrap().join(consts::SERVICE_NAME))
+ .basename(consts::SERVICE_NAME),
+ )
+ .duplicate_to_stdout(flexi_logger::Duplicate::All)
+ .format(if is_debug {
+ flexi_logger::default_format
+ } else {
+ flexi_logger::detailed_format
+ })
+ .rotate(
+ flexi_logger::Criterion::Size(1024 * 1024),
+ flexi_logger::Naming::Timestamps,
+ flexi_logger::Cleanup::KeepLogFiles(10),
+ )
+ .print_message()
+ .start()?;
+