Beispiel #1
0
        static ChangeFeedEventHost()
        {
            ChangeFeedEventHost.TraceLogProvider = new TraceLogProvider();
            var logProviderEntry = new Tuple <LogProvider.IsLoggerAvailable, LogProvider.CreateLogProvider>(
                () => true,
                () => ChangeFeedEventHost.TraceLogProvider);

            LogProvider.LogProviderResolvers.Add(logProviderEntry);
        }
Beispiel #2
0
        public void Bootstrap(RouteCollection routeCollection)
        {
            TraceLogProvider.Configure(LogLevel.Debug);

            routeCollection.ConfigureActors(x =>
            {
                x.UseBasePath("actors");

                x.Add <EchoActor>()
                .All()
                .PerThread();

                x.Add <QueryActor>()
                .Channel(c => c.GetCityChannel);
            });
        }
Beispiel #3
0
        /// <summary>
        ///  Main program function; called when program runs
        /// </summary>
        /// <param name="args">Command line parameters (not used)</param>
        ///

        public static void Main(string[] args)
        {
            string hostName = "HostName " + DateTime.Now.Ticks.ToString();

            if (args.Length == 1)
            {
                hostName = args[0];
            }
            Console.WriteLine("Change Feed Processor client Started at:{0} for HostName: {1} ", DateTime.Now.ToShortTimeString(), hostName);

            //Setting up Logging
            var tracelogProvider = new TraceLogProvider();

            using (tracelogProvider.OpenNestedContext(hostName))
            {
                LogProvider.SetCurrentLogProvider(tracelogProvider);
                // After this, create IChangeFeedProcessor instance and start/stop it.
            }
            Program newApp = new Program();

            newApp.MainAsync().Wait();
        }
Beispiel #4
0
        public IChangeFeedProcessor CreateChangeFeedProcessor(string monitoredUri, string monitoredSecretKey, string monitoredDbName, string monitoredCollectionName, string leaseUri, string leaseSecretKey, string leaseDbName, string leaseCollectionName)
        {
            string hostName = Guid.NewGuid().ToString();

            DocumentCollectionInfo documentCollectionLocation = new DocumentCollectionInfo
            {
                Uri            = new Uri(monitoredUri),
                MasterKey      = monitoredSecretKey,
                DatabaseName   = monitoredDbName,
                CollectionName = monitoredCollectionName
            };

            DocumentCollectionInfo leaseCollectionLocation = new DocumentCollectionInfo
            {
                Uri            = new Uri(leaseUri),
                MasterKey      = leaseSecretKey,
                DatabaseName   = leaseDbName,
                CollectionName = leaseCollectionName
            };

            DocumentClient monitorClient = new DocumentClient(
                serviceEndpoint: new Uri(monitoredUri),
                authKeyOrResourceToken: monitoredSecretKey,
                handler: new HttpClientHandler
            {
                ServerCertificateCustomValidationCallback = (a, b, c, d) => true
            },
                connectionPolicy: new ConnectionPolicy
            {
                EnableEndpointDiscovery = false,
                ConnectionMode          = ConnectionMode.Gateway,
                ConnectionProtocol      = Protocol.Tcp
            });

            DocumentClient leaseClient = new DocumentClient(
                serviceEndpoint: new Uri(leaseUri),
                authKeyOrResourceToken: leaseSecretKey,
                handler: new HttpClientHandler
            {
                ServerCertificateCustomValidationCallback = (a, b, c, d) => true
            },
                connectionPolicy: new ConnectionPolicy
            {
                EnableEndpointDiscovery = false,
                ConnectionMode          = ConnectionMode.Gateway,
                ConnectionProtocol      = Protocol.Tcp
            });

            var tracelogProvider = new TraceLogProvider();

            using (tracelogProvider.OpenNestedContext(hostName))
            {
                LogProvider.SetCurrentLogProvider(tracelogProvider);
            }

            var builder = new ChangeFeedProcessorBuilder();

            var processor = builder
                            .WithHostName(hostName)
                            .WithFeedCollection(documentCollectionLocation)
                            .WithLeaseCollection(leaseCollectionLocation)
                            .WithFeedDocumentClient(monitorClient)
                            .WithLeaseDocumentClient(leaseClient)
                            .WithObserverFactory(new CosmosDbChangeFeedObserverFactory <Customer>())
                            .WithProcessorOptions(new ChangeFeedProcessorOptions
            {
                LeasePrefix = $"NCache--",
                StartTime   = DateTime.Now
            })
                            .BuildAsync()
                            .Result;

            processor.StartAsync();

            return(processor);
        }
Beispiel #5
0
 static ILogWriter GetWarn(TraceLogProvider log)
 {
     return new TraceLogWriter(() => log.IsEnabled(LogLevel.Warn));
 }
Beispiel #6
0
 public Logger()
 {
     LogProvider      = new LocalLogProvider();
     TraceLogProvider = new TraceLogProvider();
 }
Beispiel #7
0
 static ILogWriter GetInfo(TraceLogProvider log)
 {
     return new TraceLogWriter(() => log.IsEnabled(LogLevel.Info));
 }
Beispiel #8
0
 static ILogWriter GetFatal(TraceLogProvider log)
 {
     return new TraceLogWriter(() => log.IsEnabled(LogLevel.Fatal));
 }
Beispiel #9
0
 static ILogWriter GetError(TraceLogProvider log)
 {
     return new TraceLogWriter(() => log.IsEnabled(LogLevel.Error));
 }
Beispiel #10
0
 static ILogWriter GetDebug(TraceLogProvider log)
 {
     return new TraceLogWriter(() => log.IsEnabled(LogLevel.Debug));
 }
Beispiel #11
0
 public TraceLogger(string name, TraceLogProvider provider)
     : base(name, GetDebug(provider), GetInfo(provider), GetWarn(provider), GetError(provider), GetFatal(provider))
 {
 }