color_log/struct.rs
1use super::*;
2
3/// Main configuration structure for log file output.
4///
5/// Controls where logs are stored and their maximum size limits.
6/// Use FileLogger::new() to create an instance with custom settings.
7///
8/// Accessors are generated by `#[derive(Data)]`; the `String` setters accept
9/// any `impl AsRef<str>` via `#[set(type(AsRef<str>))]`.
10#[derive(Clone, Data)]
11pub struct FileLogger {
12 /// The directory path where log files will be stored.
13 #[set(type(AsRef<str>))]
14 pub(super) path: String,
15 /// The maximum allowed size (in bytes) for individual log files.
16 /// Set to 0 to disable logging.
17 pub(super) limit_file_size: usize,
18 /// Subdirectory name for trace logs.
19 #[set(type(AsRef<str>))]
20 pub(super) trace_dir: String,
21 /// Subdirectory name for debug logs.
22 #[set(type(AsRef<str>))]
23 pub(super) debug_dir: String,
24 /// Subdirectory name for info logs.
25 #[set(type(AsRef<str>))]
26 pub(super) info_dir: String,
27 /// Subdirectory name for warn logs.
28 #[set(type(AsRef<str>))]
29 pub(super) warn_dir: String,
30 /// Subdirectory name for error logs.
31 #[set(type(AsRef<str>))]
32 pub(super) error_dir: String,
33}