예제 #1
0
    /** ****************************************************************************************
     * Helper method of #dumpStateOnLoggerRemoval to recursively collect domain settings.
     * @param domain    The actual domain.
     * @param loggerNo  The number of the logger
     * @param variable  The AString to collect the information.
     ******************************************************************************************/
    #if ALOX_DBG_LOG || ALOX_REL_LOG
    protected void verbositySettingToVariable( Domain domain, int loggerNo, Variable variable )
    {
        variable.AddString()._( domain.FullPath )
                            ._('=')
                            ._( domain.GetVerbosity( loggerNo ).ToString() );

        // loop over all sub domains (recursion)
        foreach( Domain subDomain in domain.SubDomains )
            verbositySettingToVariable( subDomain, loggerNo, variable );
    }
예제 #2
0
    /** ********************************************************************************************
     * Internal method used by State() to recursively (DFS) collect Domains of Logger that have
     * a different verbosity than their parent.
     *
     * @param domain      The actual domain to check.
     * @param loggerNo    The logger to collect domains for.
     * @param results     The result list.
     **********************************************************************************************/
    protected void logStateDomsWithDiffVerb( Domain domain, int loggerNo, List<Domain> results )
    {
        if (    domain.Parent == null
            ||  domain.Parent.GetVerbosity(loggerNo) != domain.GetVerbosity(loggerNo) )
            results.Add( domain );

        foreach( Domain it in domain.SubDomains )
            logStateDomsWithDiffVerb( it, loggerNo, results );
    }