simple/
simple.rs

1// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2// ┃ Copyright: (c) 2023, Mike 'PhiSyX' S. (https://github.com/PhiSyX)         ┃
3// ┃ SPDX-License-Identifier: MPL-2.0                                          ┃
4// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
5// ┃                                                                           ┃
6// ┃  This Source Code Form is subject to the terms of the Mozilla Public      ┃
7// ┃  License, v. 2.0. If a copy of the MPL was not distributed with this      ┃
8// ┃  file, You can obtain one at https://mozilla.org/MPL/2.0/.                ┃
9// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
10
11use lexa_logger::{Logger, LoggerBuilder, LoggerStdoutBuilderExtension};
12
13fn main()
14{
15	/*
16	use lexa_logger::{LoggerInitiator, LoggerStdoutBuilder};
17
18	// NOTE: Aucun paramètres n'est appliqués par défaut, sauf le format des logs.
19	let logger_builder = LoggerStdoutBuilder::default()
20		.with_level(log::LevelFilter::Debug)
21		.with_color(true)
22		.with_timestamp(true)
23	;
24
25	LoggerInitiator::stdout(logger_builder).expect("L'initialisation du logger (stdout)");
26	*/
27
28	// NOTE: Les fonctions de l'implémentation de `Logger` PEUVENT appliquer des
29	// paramètres par défaut au builder. Ici, la fonction `stdout()`, applique
30	// les paramètres suivants: `.with_colorized(true)` et `.with_timestamp(true)`.
31	//
32	// NOTE: ces paramètres PEUVENT être désactivés explicitement ci-dessous.
33	let logger = Logger::stdout();
34
35	// logger.with_...
36	#[cfg(not(feature = "tracing"))]
37	let logger = logger.with_level(log::LevelFilter::Debug);
38	#[cfg(feature = "tracing")]
39	let logger = logger.with_level(tracing::level_filters::LevelFilter::DEBUG);
40
41	// NOTE: L'extension `LoggerStdoutBuilderExtension` ajoute la fonction
42	// `.initialize()` qui elle va s'occuper d'initialiser le logger.
43	// NOTE: Cette fonction PEUT paniquer en cas d'erreur.
44	logger.initialize();
45
46	log::info!("Hello World");
47}