Пример #1
0
        public void SetLogFilterType(LogFilterType type)
        {
            switch (type)
            {
            case LogFilterType.NeverLog:
                this.filter = NeverLogFilter.GetInstance(this.logWriterFactory);
                break;

            case LogFilterType.AlwaysLog:
                this.filter = AlwaysLogFilter.GetInstance(this.logWriterFactory);
                break;

            case LogFilterType.Defogger:
                this.filter = DefoggerLogFilter.GetInstance(this.logWriterFactory, this.database);
                break;

            case LogFilterType.OpenLoop:
                this.filter = OpenLoopLogFilter.GetInstance(this.logWriterFactory, this.database);
                break;

            case LogFilterType.ClosedLoop:
                this.filter = ClosedLoopLogFilter.GetInstance(this.logWriterFactory, this.database);
                break;

            case LogFilterType.FullThrottle:
                this.filter = FullThrottleLogFilter.GetInstance(this.logWriterFactory, this.database);
                break;

            default:
                throw new InvalidOperationException("Undefined log filter type: " + type.ToString());
            }

            // Update the InternalLogProfile
            this.SetProfile(this.currentProfile);
        }
Пример #2
0
 /// <summary>
 /// Private constructor - use factory instead
 /// </summary>
 private SsmRecordingLogger(
     ParameterDatabase database,
     string configurationDirectory,
     string portName,
     LogWriterFactory logWriterFactory)
 {
     this.logWriterFactory = logWriterFactory;
     this.database         = database;
     this.filter           = NeverLogFilter.GetInstance(this.logWriterFactory);
     this.logger           = SsmLogger.GetInstance(configurationDirectory, portName);
     this.logger.LogStart += this.Logger_LogStart;
     this.logger.LogEntry += this.Logger_LogEntry;
     this.logger.LogStop  += this.Logger_LogStop;
     this.logger.LogError += this.Logger_LogError;
 }