public void SimpleLogTest()
 {
     var myLogger = new ConsoleLogger();
     myLogger.Debug("FooBar");
     myLogger.Warning("FooBar");
     myLogger.Error("FooBar");
     myLogger.Error(new Exception(), "FooBar");
     myLogger.Info("FooBar");
     myLogger.Info("FooBar", "Bar");
     Assert.AreEqual(myLogger.IsDebugEnabled, myLogger.IsDebugEnabled); // We don't care about the actual value.
 }
        public void ConfirmLoggingTest()
        {
            var myLogger = new ConsoleLogger();

            // Create mock TextWriters which confirm the output
            var stringOutput = new Mock<TextWriter>();
            stringOutput.Setup(w => w.WriteLine(It.IsRegex("\\([^)]+\\) \\.NET Client API \\[(\\w+)\\]: FooBar")));

            var nullOutput = new Mock<TextWriter>();
            nullOutput
                .Setup(w => w.WriteLine(It.IsAny<string>()))
                .Callback<string>(str => Assert.Fail("Unexpected WriteLine(): " + str));

            // Test non-error methods:
            Console.SetOut(stringOutput.Object);
            Console.SetError(nullOutput.Object);

            myLogger.Info("FooBar");
            myLogger.Debug("FooBar");
            myLogger.Warning("FooBar");

            stringOutput.Verify();
            nullOutput.Verify();

            //  Test error-methods:
            Console.SetOut(nullOutput.Object);
            Console.SetError(stringOutput.Object);

            myLogger.Error("FooBar");

            stringOutput.Verify();
            nullOutput.Verify();
        }
Exemple #3
0
        private static void Main()
        {
            //客户端基本服务。
            ISerializer<string> serializer = new JsonSerializer();
            ISerializer<byte[]> byteArraySerializer = new StringByteArraySerializer(serializer);
            ISerializer<object> objectSerializer = new StringObjectSerializer(serializer);
            IServiceIdGenerator serviceIdGenerator = new DefaultServiceIdGenerator(new ConsoleLogger<DefaultServiceIdGenerator>());

            var typeConvertibleService = new DefaultTypeConvertibleService(new[] { new DefaultTypeConvertibleProvider(objectSerializer) }, new ConsoleLogger<DefaultTypeConvertibleService>());
            var serviceRouteManager = new SharedFileServiceRouteManager("d:\\routes.txt", serializer, new ConsoleLogger<SharedFileServiceRouteManager>());
            //zookeeper服务路由管理者。
            //            var serviceRouteManager = new ZooKeeperServiceRouteManager(new ZooKeeperServiceRouteManager.ZookeeperConfigInfo("172.18.20.132:2181"), serializer, new ConsoleLogger<ZooKeeperServiceRouteManager>());
            //            IAddressSelector addressSelector = new RandomAddressSelector();
            IAddressSelector addressSelector = new PollingAddressSelector();
            IAddressResolver addressResolver = new DefaultAddressResolver(serviceRouteManager, new ConsoleLogger<DefaultAddressResolver>(), addressSelector);
            ITransportClientFactory transportClientFactory = new DotNettyTransportClientFactory(byteArraySerializer,objectSerializer, new ConsoleLogger<DotNettyTransportClientFactory>());
            var remoteInvokeService = new RemoteInvokeService(addressResolver, transportClientFactory, new ConsoleLogger<RemoteInvokeService>());

            //服务代理相关。
            IServiceProxyGenerater serviceProxyGenerater = new ServiceProxyGenerater(serviceIdGenerator);
            var services = serviceProxyGenerater.GenerateProxys(new[] { typeof(IUserService) }).ToArray();
            IServiceProxyFactory serviceProxyFactory = new ServiceProxyFactory(remoteInvokeService, typeConvertibleService);

            //创建IUserService的代理。
            var userService = serviceProxyFactory.CreateProxy<IUserService>(services.Single(typeof(IUserService).IsAssignableFrom));

            var logger = new ConsoleLogger();
            while (true)
            {
                Task.Run(async () =>
                {
                    try
                    {
                        Console.WriteLine($"userService.GetUserName:{await userService.GetUserName(1)}");
                        Console.WriteLine($"userService.GetUserId:{await userService.GetUserId("rabbit")}");
                        Console.WriteLine($"userService.GetUserLastSignInTime:{await userService.GetUserLastSignInTime(1)}");
                        Console.WriteLine($"userService.Exists:{await userService.Exists(1)}");
                        var user = await userService.GetUser(1);
                        Console.WriteLine($"userService.GetUser:name={user.Name},age={user.Age}");
                        Console.WriteLine($"userService.Update:{await userService.Update(1, user)}");
                        Console.WriteLine($"userService.GetDictionary:{(await userService.GetDictionary())["key"]}");
                        await userService.TryThrowException();
                    }
                    catch (RpcRemoteException remoteException)
                    {
                        logger.Error(remoteException.Message);
                    }
                }).Wait();
                Console.ReadLine();
            }
        }
Exemple #4
0
 private static async Task Run(OsmDataServiceOperations operations)
 {
     var logger = new ConsoleLogger();
     try
     {
         var container = new UnityContainer();
         UnityRegisterDataAccess.RegisterUnityTypes(container, logger);
         UnityRegisterApi.RegisterUnityTypes(container);
         var osmDataService = container.Resolve<IOsmDataService>();
         var fileSystemHelper = container.Resolve<IFileSystemHelper>();
         var directory = fileSystemHelper.GetCurrentDirectory();
         await osmDataService.Initialize(directory);
         await osmDataService.UpdateData(operations);
     }
     catch (Exception ex)
     {
         logger.Error("Failed updating OSM data with exception: " + ex);
     }
 }