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(); }
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(); } }
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); } }