Exemple #1
0
 // constructors
 /// <summary>
 /// Initializes a new instance of the <see cref="ClusterBuilder"/> class.
 /// </summary>
 public ClusterBuilder()
 {
     _clusterSettings        = new ClusterSettings();
     _sdamLoggingSettings    = new SdamLoggingSettings(null);
     _serverSettings         = new ServerSettings();
     _connectionPoolSettings = new ConnectionPoolSettings();
     _connectionSettings     = new ConnectionSettings();
     _tcpStreamSettings      = new TcpStreamSettings();
     _streamFactoryWrapper   = inner => inner;
     _eventAggregator        = new EventAggregator();
 }
Exemple #2
0
        /// <summary>
        /// Configures the SDAM logging settings.
        /// </summary>
        /// <param name="configurator">The SDAM logging settings configurator delegate.</param>
        /// <returns>A reconfigured cluster builder.</returns>
        public ClusterBuilder ConfigureSdamLogging(Func <SdamLoggingSettings, SdamLoggingSettings> configurator)
        {
            _sdamLoggingSettings = configurator(_sdamLoggingSettings);
            if (!_sdamLoggingSettings.IsLoggingEnabled)
            {
                return(this);
            }
            var traceSource = new TraceSource(__traceSourceName, SourceLevels.All);

            traceSource.Listeners.Clear(); // remove the default listener
            var listener = _sdamLoggingSettings.ShouldLogToStdout
                ? new TextWriterTraceListener(Console.Out)
                : new TextWriterTraceListener(new FileStream(_sdamLoggingSettings.LogFilename, FileMode.Append));

            listener.TraceOutputOptions = TraceOptions.DateTime;
            traceSource.Listeners.Add(listener);
            return(this.Subscribe(new TraceSourceSdamEventSubscriber(traceSource)));
        }