/// <summary>
        /// Sets up aspects and interceptors to enable call sequence logging.
        /// </summary>
        public virtual void SetupCallSequenceLogging(List <IInterceptor> apiAspects)
        {
            var traceLogger       = GetCallSequenceLogger();
            var objectIdGenerator = new ObjectIDGenerator();
            var tracingAspect     = new CallSequenceLoggingAspect(objectIdGenerator, traceLogger);

            apiAspects.Add(tracingAspect);
        }
        public void SetUp()
        {
            idGenerator    = new ObjectIDGeneratorStub(17);
            proxyGenerator = new ProxyGenerator();

            logTarget        = new MemoryTarget();
            logTarget.Layout = "${message}";
            // Using LogLevel.Trace to get all logs.
            NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(logTarget, LogLevel.Trace);
            sequenceAspect = new CallSequenceLoggingAspect(
                idGenerator, LogManager.GetLogger("test"));
        }