deep_log 0.3.1

Dual-axis logging : level + zone bitflag, console and file output
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
    /// Itère sur chaque zone simple (un bit) contenu dans ce bitflag.
    /// LogZone::ALL → seulement les 8 zones prédéfinies (bits 0-7).
    /// Zones custom → seulement si explicitement dans le bitflag (pas hérités de ALL).
    pub fn iter_single(self) -> impl Iterator<Item = LogZone> {
        // Zones prédéfinies = bits 0..7
        // Pour ALL (u32::MAX), on ignore les bits custom (8..31) qui seraient vides
        let predefined = self.0 & 0xFF;
        let custom     = if self.0 == u32::MAX { 0u32 } else { self.0 & !0xFF };
        let bits       = predefined | custom;
        (0..32u8)
            .filter(move |&bit| bits & (1u32 << bit) != 0)
            .map(|bit| LogZone(1u32 << bit))
    }