Handsome logger

pull/1070/head
Rafał Mikrut 9 months ago
parent 4fa7d51489
commit 8d463135e9

9
Cargo.lock generated

@ -1356,10 +1356,11 @@ checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1"
[[package]]
name = "handsome_logger"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54cd219376bdbd869ce764bf83e45407ef1a640503e2927605e8524575fda474"
checksum = "5ac61d38cad8014a5875328d4c6094d49e2431ae9d4f6265bb0aa5db486ca2f4"
dependencies = [
"chrono",
"log",
"termcolor",
"time",
@ -3029,9 +3030,9 @@ dependencies = [
[[package]]
name = "termcolor"
version = "1.2.0"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
dependencies = [
"winapi-util",
]

@ -16,8 +16,7 @@ clap = { version = "4.3", features = ["derive"] }
image_hasher = "1.2"
log = "0.4.20"
handsome_logger = "0.6.0"
handsome_logger = { version = "0.7.0", features = ["chrono-local-offset"] }
[dependencies.czkawka_core]
path = "../czkawka_core"
version = "6.0.0"

@ -3,13 +3,12 @@
use std::process;
use clap::Parser;
use handsome_logger::{ColorChoice, Config, ConfigBuilder, LevelFilter, TerminalMode};
use commands::Commands;
use czkawka_core::bad_extensions::BadExtensions;
use czkawka_core::big_file::{self, BigFile, SearchMode};
use czkawka_core::broken_files::{self, BrokenFiles};
use czkawka_core::common::set_number_of_threads;
use czkawka_core::common::{set_number_of_threads, setup_logger};
#[allow(unused_imports)] // It is used in release for print_results().
use czkawka_core::common_traits::*;
use czkawka_core::duplicate::DuplicateFinder;
@ -31,7 +30,7 @@ mod commands;
fn main() {
let command = Args::parse().command;
handsome_logger::TermLogger::init(ConfigBuilder::default().set_level(LevelFilter::Debug).build(), TerminalMode::Mixed, ColorChoice::Always).unwrap();
setup_logger();
#[cfg(debug_assertions)]
println!("{command:?}");

@ -80,7 +80,7 @@ anyhow = { version = "1.0" }
state = "0.6"
log = "0.4.20"
handsome_logger = "0.6.0"
handsome_logger = { version = "0.7.0", features = ["chrono-local-offset"] }
[features]
default = []

@ -12,10 +12,12 @@ use std::{fs, thread};
use anyhow::Result;
use directories_next::ProjectDirs;
use futures::channel::mpsc::UnboundedSender;
use handsome_logger::{ColorChoice, ConfigBuilder, TerminalMode};
use image::{DynamicImage, ImageBuffer, Rgb};
use imagepipe::{ImageSource, Pipeline};
#[cfg(feature = "heif")]
use libheif_rs::{ColorSpace, HeifContext, RgbChroma};
use log::{LevelFilter, Record};
// #[cfg(feature = "heif")]
// use libheif_rs::LibHeif;
@ -35,6 +37,24 @@ pub fn get_number_of_threads() -> usize {
}
}
fn filtering_messages(record: &Record) -> bool {
if let Some(module_path) = record.module_path() {
!module_path.contains("i18n_embed")
} else {
true
}
}
pub fn setup_logger() {
let config = ConfigBuilder::default()
.set_level(LevelFilter::Info)
.set_message_filtering(Some(filtering_messages))
.set_chrono_local_time_offset()
.unwrap()
.build();
handsome_logger::TermLogger::init(config, TerminalMode::Mixed, ColorChoice::Always).unwrap();
}
pub fn set_default_number_of_threads() {
set_number_of_threads(num_cpus::get());
}

@ -50,7 +50,7 @@ rust-embed = "8.0.0"
once_cell = "1.18"
log = "0.4.20"
handsome_logger = "0.6.0"
handsome_logger = { version = "0.7.0", features = ["chrono-local-offset"] }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["combaseapi", "objbase", "shobjidl_core", "windef", "winerror", "wtypesbase", "winuser"] }

@ -8,6 +8,7 @@ use futures::channel::mpsc::UnboundedSender;
use glib::Sender;
use gtk4::prelude::*;
use gtk4::Grid;
use log::debug;
use czkawka_core::bad_extensions::BadExtensions;
use czkawka_core::big_file::BigFile;
@ -296,7 +297,7 @@ fn duplicate_search(
let tree_view_duplicate_finder = gui_data.main_notebook.tree_view_duplicate_finder.clone();
image_preview_duplicates.hide();
get_list_store(&tree_view_duplicate_finder).clear();
clean_tree_view(&tree_view_duplicate_finder);
let check_method_index = combo_box_duplicate_check_method.active().unwrap() as usize;
let check_method = DUPLICATES_CHECK_METHOD_COMBO_BOX[check_method_index].check_method;
@ -348,7 +349,7 @@ fn empty_files_search(
grid_progress_stages.hide();
let tree_view_empty_files_finder = gui_data.main_notebook.tree_view_empty_files_finder.clone();
get_list_store(&tree_view_empty_files_finder).clear();
clean_tree_view(&tree_view_empty_files_finder);
// Find empty files
thread::spawn(move || {
let mut vf = EmptyFiles::new();
@ -375,7 +376,7 @@ fn empty_directories_search(
grid_progress_stages.hide();
let tree_view_empty_folder_finder = gui_data.main_notebook.tree_view_empty_folder_finder.clone();
get_list_store(&tree_view_empty_folder_finder).clear();
clean_tree_view(&tree_view_empty_folder_finder);
thread::spawn(move || {
let mut ef = EmptyFolder::new();
@ -400,7 +401,7 @@ fn big_files_search(
let combo_box_big_files_mode = gui_data.main_notebook.combo_box_big_files_mode.clone();
let entry_big_files_number = gui_data.main_notebook.entry_big_files_number.clone();
let tree_view_big_files_finder = gui_data.main_notebook.tree_view_big_files_finder.clone();
get_list_store(&tree_view_big_files_finder).clear();
clean_tree_view(&tree_view_big_files_finder);
let big_files_mode_index = combo_box_big_files_mode.active().unwrap() as usize;
let big_files_mode = BIG_FILES_CHECK_METHOD_COMBO_BOX[big_files_mode_index].check_method;
@ -433,7 +434,7 @@ fn temporary_files_search(
grid_progress_stages.hide();
let tree_view_temporary_files_finder = gui_data.main_notebook.tree_view_temporary_files_finder.clone();
get_list_store(&tree_view_temporary_files_finder).clear();
clean_tree_view(&tree_view_temporary_files_finder);
thread::spawn(move || {
let mut tf = Temporary::new();
@ -470,7 +471,7 @@ fn same_music_search(
let scale_seconds_same_music = gui_data.main_notebook.scale_seconds_same_music.clone();
let scale_similarity_same_music = gui_data.main_notebook.scale_similarity_same_music.clone();
get_list_store(&tree_view_same_music_finder).clear();
clean_tree_view(&tree_view_same_music_finder);
let approximate_comparison = check_button_music_approximate_comparison.is_active();
@ -565,7 +566,7 @@ fn broken_files_search(
let check_button_broken_files_image: gtk4::CheckButton = gui_data.main_notebook.check_button_broken_files_image.clone();
let tree_view_broken_files = gui_data.main_notebook.tree_view_broken_files.clone();
get_list_store(&tree_view_broken_files).clear();
clean_tree_view(&tree_view_broken_files);
let mut checked_types: CheckedTypes = CheckedTypes::NONE;
@ -641,7 +642,7 @@ fn similar_image_search(
let scale_similarity_similar_images = gui_data.main_notebook.scale_similarity_similar_images.clone();
let tree_view_similar_images_finder = gui_data.main_notebook.tree_view_similar_images_finder.clone();
get_list_store(&tree_view_similar_images_finder).clear();
clean_tree_view(&tree_view_similar_images_finder);
image_preview_similar_images.hide();
let hash_size_index = combo_box_image_hash_size.active().unwrap() as usize;
@ -697,7 +698,7 @@ fn similar_video_search(
let check_button_settings_similar_videos_delete_outdated_cache = gui_data.settings.check_button_settings_similar_videos_delete_outdated_cache.clone();
let scale_similarity_similar_videos = gui_data.main_notebook.scale_similarity_similar_videos.clone();
let tree_view_similar_videos_finder = gui_data.main_notebook.tree_view_similar_videos_finder.clone();
get_list_store(&tree_view_similar_videos_finder).clear();
clean_tree_view(&tree_view_similar_videos_finder);
let tolerance = scale_similarity_similar_videos.value() as i32;
@ -737,7 +738,7 @@ fn bad_symlinks_search(
grid_progress_stages.hide();
let tree_view_invalid_symlinks = gui_data.main_notebook.tree_view_invalid_symlinks.clone();
get_list_store(&tree_view_invalid_symlinks).clear();
clean_tree_view(&tree_view_invalid_symlinks);
thread::spawn(move || {
let mut isf = InvalidSymlinks::new();
@ -763,7 +764,7 @@ fn bad_extensions_search(
grid_progress_stages.show();
let tree_view_bad_extensions = gui_data.main_notebook.tree_view_bad_extensions.clone();
get_list_store(&tree_view_bad_extensions).clear();
clean_tree_view(&tree_view_bad_extensions);
thread::spawn(move || {
let mut be = BadExtensions::new();
@ -780,3 +781,10 @@ fn bad_extensions_search(
glib_stop_sender.send(Message::BadExtensions(be)).unwrap();
});
}
fn clean_tree_view(tree_view: &gtk4::TreeView) {
debug!("Start clean tree view");
let list_store = get_list_store(tree_view);
list_store.clear();
debug!("Cleared tree view");
}

@ -14,7 +14,6 @@ use glib::Priority;
use gtk4::gio::ApplicationFlags;
use gtk4::prelude::*;
use gtk4::Application;
use handsome_logger::{ColorChoice, ConfigBuilder, LevelFilter, TerminalMode};
use connect_things::connect_about_buttons::*;
use connect_things::connect_button_compare::*;
@ -34,7 +33,7 @@ use connect_things::connect_selection_of_directories::*;
use connect_things::connect_settings::*;
use connect_things::connect_show_hide_ui::*;
use connect_things::connect_similar_image_size_change::*;
use czkawka_core::common::{get_number_of_threads, set_number_of_threads};
use czkawka_core::common::{get_number_of_threads, set_number_of_threads, setup_logger};
use czkawka_core::common_dir_traversal::ProgressData;
use czkawka_core::*;
use gui_structs::gui_data::*;
@ -72,7 +71,7 @@ mod tests;
fn main() {
let application = Application::new(None::<String>, ApplicationFlags::HANDLES_OPEN | ApplicationFlags::HANDLES_COMMAND_LINE);
application.connect_command_line(move |app, cmdline| {
handsome_logger::TermLogger::init(ConfigBuilder::default().set_level(LevelFilter::Debug).build(), TerminalMode::Mixed, ColorChoice::Always).unwrap();
setup_logger();
build_ui(app, &cmdline.arguments());
0
});

Loading…
Cancel
Save