Beispiel #1
0
    public void RemoveLogger( String loggerName, ref Logger logger,
    [CallerLineNumber] int cln= 0,[CallerFilePath] String csf="",[CallerMemberName] String cmn="" )
    {
        #if ALOX_DBG_LOG || ALOX_REL_LOG
            try { Acquire();
                scopeInfo.Set( cln,csf,cmn, owner );


                int noMainDom=  domains        .GetLoggerNo( loggerName );
                int noIntDom=   internalDomains.GetLoggerNo( loggerName );

                if( noMainDom >= 0 || noIntDom >= 0 )
                {
                                            logger=         domains.GetLogger( noMainDom );
                    if ( logger == null )   logger= internalDomains.GetLogger( noIntDom );

                    dumpStateOnLoggerRemoval();
                    writeVerbositiesOnLoggerRemoval( logger );

                    if( noMainDom >= 0 )
                        domains.RemoveLogger( noMainDom );

                    if( noIntDom >= 0 )
                        internalDomains.RemoveLogger( noIntDom );

                    logger.RemoveAcquirer( this );

                    logInternal( Verbosity.Info, "LGR", intMsg._()
                        ._("Logger \"")._NC(logger)._NC("\" removed."));

                    return;
                }

                // not found
                logInternal( Verbosity.Warning, "LGR", intMsg._()
                        ._("Logger \"")._NC(loggerName)._NC("\" not found. Nothing removed."));

            } finally { Release(); }
        #endif
    }