예제 #1
0
        private static void RegisterAll()
        {
            if (null == _unityContainer)
            {
                _unityContainer = new UnityContainer();


                _unityContainer.RegisterInstance(Log4NetLoggerFactory.CreateLoggerFactory());
                _unityContainer.RegisterSingleton <IHttpAuthorization, BasicAuthorization>();
                _unityContainer.RegisterSingleton <IServiceClientRequestOptions, JsonServiceClientRequestOptions>();
                _unityContainer.RegisterSingleton <IServiceClient, WebServiceClient>();
                _unityContainer.RegisterSingleton <IKahuaApiClient, KahuaApiClient>();

                _unityContainer.RegisterSingleton <ILogger, Log4NetLogger>();
                _unityContainer.RegisterSingleton <ILoggingService, LoggingService>();


                _unityContainer.RegisterSingleton <IKahuaDataMigrator, KahuaDataMigrator>();
                _unityContainer.RegisterSingleton <INameSearcher, NameSearcher>();
                _unityContainer.RegisterSingleton <IKahuaDataTypeConverter, KahuaDataTypeConverter>();
                _unityContainer.RegisterSingleton <IKahuaDataMigratorService, KahuaDataMigratorService>();
                _unityContainer.RegisterSingleton <IInflowRepository, ExcelRepository>();
                _unityContainer.RegisterSingleton <IModelRepository <KahuaDataMigrationModel>, JsonFileModelRepository <KahuaDataMigrationModel> >();


                _unityContainer.RegisterSingleton <IModelRepository <KahuaReponse <KahuaInflowDef> >, JsonFileModelRepository <KahuaReponse <KahuaInflowDef> > >();
                _unityContainer.RegisterSingleton <IModelRepository <IEnumerable <KahuaDomain> >, JsonFileModelRepository <IEnumerable <KahuaDomain> > >();
            }
        }
예제 #2
0
        private static void Tears()
        {
            ILogger logger = new Log4NetLoggerFactory(Assembly.GetExecutingAssembly()).Create("tears");

            logger.WriteInformation("---------------------------------------------------------------------------");
            logger.WriteInformation("Application is down");
            logger.WriteInformation("---------------------------------------------------------------------------");
        }
 public void GetShouldReturnNamedLog4NetLogger()
 {
     var expected = "somename";
       Log4NetLoggerFactory tested = new Log4NetLoggerFactory();
       ILog log = tested.GetLog(expected);
       var actual = log.Name;
       Assert.IsInstanceOfType(log, typeof(ILog));
       Assert.IsInstanceOfType(log, typeof(Log4NetLogger));
       Assert.AreEqual(expected, actual);
 }
        public void GetShouldReturnNamedLog4NetLogger()
        {
            var expected = "somename";
            Log4NetLoggerFactory tested = new Log4NetLoggerFactory();
            ILog log    = tested.GetLog(expected);
            var  actual = log.Name;

            Assert.IsInstanceOfType(log, typeof(ILog));
            Assert.IsInstanceOfType(log, typeof(Log4NetLogger));
            Assert.AreEqual(expected, actual);
        }
예제 #5
0
        public void Test_Construct_ShouldHaveLoggerFactoryInterface()
        {
            //---------------Set up test pack-------------------

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var loggerFactory = new Log4NetLoggerFactory();

            //---------------Test Result -----------------------
            Assert.IsInstanceOf <IHabaneroLoggerFactory>(loggerFactory);
        }
예제 #6
0
        public void Test_GetLogger_WithContextname_ShouldReturnNewLoggerWithContextName()
        {
            //---------------Set up test pack-------------------
            IHabaneroLoggerFactory loggerFactory = new Log4NetLoggerFactory();
            string expectedContextName           = TestUtil.GetRandomString();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var logger = loggerFactory.GetLogger(expectedContextName);

            //---------------Test Result -----------------------
            Assert.AreEqual(expectedContextName, logger.ContextName);
        }
예제 #7
0
        public void Test_GetLogger_WithType_ShouldSetContext()
        {
            //---------------Set up test pack-------------------
            IHabaneroLoggerFactory loggerFactory       = new Log4NetLoggerFactory();
            const string           expectedContextName = "Habanero.Test.Base.Logging.FakeObject";
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var logger = loggerFactory.GetLogger(typeof(FakeObject));

            //---------------Test Result -----------------------
            Assert.AreEqual(expectedContextName, logger.ContextName);
        }
예제 #8
0
        public void Test_GetLogger_WithType_ShouldCreateLog4NetLogger()
        {
            //---------------Set up test pack-------------------
            IHabaneroLoggerFactory loggerFactory = new Log4NetLoggerFactory();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var logger = loggerFactory.GetLogger(typeof(FakeObject));

            //---------------Test Result -----------------------
            Assert.IsNotNull(logger);
            Assert.IsInstanceOf <Log4NetLogger>(logger);
        }
예제 #9
0
        public void Test_GetLogger_ShouldReturnNewLogger()
        {
            //---------------Set up test pack-------------------
            IHabaneroLoggerFactory loggerFactory = new Log4NetLoggerFactory();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var logger = loggerFactory.GetLogger(TestUtil.GetRandomString());

            //---------------Test Result -----------------------
            Assert.IsNotNull(logger);
            Assert.IsInstanceOf <IHabaneroLogger>(logger);
            Assert.IsInstanceOf <Log4NetLogger>(logger);
        }
예제 #10
0
파일: Program.cs 프로젝트: zhk0624/ixq
        static void TestLog()
        {
            ILoggerFactory factory = new Log4NetLoggerFactory();

            LogManager.SetLoggerFactory(factory);

            var log = LogManager.GetLogger <Program>();

            log.Debug("debug log.");
            log.Info("info log.");
            log.Error("Error log.");
            log.Fatal("Fatal log.");
            log.Warn("Warn log.");
        }
예제 #11
0
파일: Program.cs 프로젝트: zhk0603/ixq
        static void TestLog()
        {
            ILoggerFactory factory = new Log4NetLoggerFactory();

            LogManager.SetLoggerFactory(() => factory);

            var log = LogManager.GetLogger <Program>();

            log.Debug("debug log.");
            log.Info("info log.");
            log.Error("Error log.");
            log.Fatal("Fatal log.");
            log.Warn("Warn log.");
            log.Error(new Exception("Hello Ixq framework"));
        }
예제 #12
0
        private static void Welcome()
        {
            ILogger logger = new Log4NetLoggerFactory(Assembly.GetExecutingAssembly()).Create("welcome");

            logger.WriteInformation("---------------------------------------------------------------------------");
            logger.WriteInformation("             Process PID: " + Process.GetCurrentProcess().Id);
            logger.WriteInformation("          Entry assembly: " + Assembly.GetEntryAssembly()?.GetName());
            logger.WriteInformation("      Executing assembly: " + Assembly.GetExecutingAssembly().GetName());
            logger.WriteInformation("Environment command line: " + Environment.CommandLine);
            logger.WriteInformation("      Application folder: " + Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath));
            logger.WriteInformation("          Working folder: " + Directory.GetCurrentDirectory());
            logger.WriteInformation("               User name: " + WindowsIdentity.GetCurrent().Name);
            logger.WriteInformation("         Current culture: " + Thread.CurrentThread.CurrentCulture.Name);
            logger.WriteInformation("      Current UI culture: " + Thread.CurrentThread.CurrentUICulture.Name);
            logger.WriteInformation("    Log file appender(s): " + Log4NetConfigurator.LogFileAppenders());
            logger.WriteInformation("---------------------------------------------------------------------------");
        }
예제 #13
0
        public void Test()
        {
            var loggerFactory = new Log4NetLoggerFactory();

            global::log4net.LogManager.ResetConfiguration();
            Log4NetConfigurator.Configure(new ConsoleAppender { Threshold = Level.All });

            var log = loggerFactory.GetLogger("Test");

            Assert.IsInstanceOf<Log4NetLogger>(log);

            CallAllMethodsOnLog(log);

            log = loggerFactory.GetLogger(typeof(LoggerFactoryTests));

            CallAllMethodsOnLog(log);
        }
예제 #14
0
        public void Test()
        {
            var loggerFactory = new Log4NetLoggerFactory();

            global::log4net.LogManager.ResetConfiguration();
            Log4NetConfigurator.Configure(new ConsoleAppender {
                Threshold = Level.All
            });

            var log = loggerFactory.GetLogger("Test");

            Assert.IsInstanceOf <Log4NetLogger>(log);

            CallAllMethodsOnLog(log);

            log = loggerFactory.GetLogger(typeof(LoggerFactoryTests));

            CallAllMethodsOnLog(log);
        }
예제 #15
0
        /// <summary>
        /// Configures log4net logging.
        /// </summary>
        /// <param name="verbose">Flag indicating wee need verbose logging (including debug level).</param>
        private static ILogger ConfigureLog(bool verbose)
        {
            var logger = new Log4NetLoggerFactory().GetCurrentClassLogger();

            // Now how to set this up

            var level = Level.Info;

            if (verbose)
            {
                level = Level.All;
            }

            var root = ((Hierarchy)LogManager.GetRepository()).Root;

            root.AddAppender(GetConsoleColoredAppender(level));
            root.AddAppender(GetFileAppender(level));
            root.Repository.Configured = true;

            return(logger);
        }
예제 #16
0
파일: Startup.cs 프로젝트: zhk0603/ixq
        public void Configuration(IAppBuilder app)
        {
            // 启用缓存
            ICacheProvider cacheProvider = new Ixq.Web.Mvc.Caching.WebCacheProvider(); // new Redis.RedisCacheProvider();

            CacheManager.SetCacheProvider(cacheProvider);

            // 启用日志
            ILoggerFactory factory = new Log4NetLoggerFactory();

            LogManager.SetLoggerFactory(factory);

            app.Initialization()
            .RegisterAutoMappe()
            .RegisterService(serverCollection =>
            {
                serverCollection.TryAddSingleton <DbContext, DataContext>();
                ConfigureAuth(app);
            })
            .RegisterAutofac(typeof(MvcApplication));
        }
예제 #17
0
파일: Startup.cs 프로젝트: zhk0624/ixq
        public void Configuration(IAppBuilder app)
        {
            // 启用缓存
            ICacheProvider cacheProvider = new MemoryCacheProvider(); // new Redis.RedisCacheProvider();

            CacheManager.SetCacheProvider(cacheProvider);

            // 启用日志
            ILoggerFactory factory = new Log4NetLoggerFactory();

            LogManager.SetLoggerFactory(factory);

            app.Initialization()
            .RegisterAutoMappe()
            .RegisterIdentity(serverCollection =>
            {
                serverCollection.TryAddSingleton <DbContext, DataContext>();
                serverCollection.TryAddScoped <IUserStore <ApplicationUser>, Domain.UserStore <ApplicationUser> >();
                serverCollection.TryAddScoped <IRoleStore <ApplicationRole, string>, RoleStore <ApplicationRole> >();
                serverCollection.TryAddScoped <IUserManager <Security.Identity.IUser>, ApplicationUserManager>();
                ConfigureAuth(app);
            })
            .RegisterAutofac(typeof(MvcApplication));
        }
예제 #18
0
        static void Main()
        {
            //程序只能运行一次实例
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Process instance = RunningInstance();

            //全局服务端只准运行一个实例

            if (Settings.IsOneServer == "one")
            {
                if (instance != null)
                {
                    HandleRunningInstance(instance);
                    Application.Exit();
                    return;
                }
            }
            else
            {
                killPerProcess();
            }



reg:
            //RegistryKey rk = Registry.Users.CreateSubKey(".DEFAULT\\Software\\Itopsoft\\sbxj");
            //if (rk.GetValue("regkey") == null)
            //{
            //    frmReg fg = new frmReg();
            //    fg.ShowDialog();
            //}
            //if (rk.GetValue("regkey") != null)
            //{
            //    if (VerifyRCode("sbxj2007", rk.GetValue("regkey").ToString()) == 0)
            //    {
            //        frmReg fg = new frmReg();
            //        fg.ShowDialog();
            //    }
            //}



            if (!Regstate())
            {
                frmReg fg = new frmReg();
                fg.ShowDialog();
                return;
            }


            try
            {
                //把外部程序集加载到当前程序域中
                //Assembly.LoadFile(Application.StartupPath+"\\Itop.Domain.Ex.dll");

                LoadAssembly();
            } catch (Exception e) { MessageBox.Show(e.Message); }
            Log = Log4NetLoggerFactory.CreateLogger <FrmServerManager>("ItopServer");
            Log.Info("***************应用程序服务器准备启动****************");

            try {
                Application.Run(new FrmServerManager());
            } catch (Exception ex) {
                Log.Error(string.Format("系统出现意外的错误\n\n错误信息:{0}", ex.Message));
                MessageBox.Show(string.Format("系统出现意外的错误\n\n错误信息:{0}", ex.Message));
                Application.Exit();
            }
        }