コード例 #1
0
        public void Test_DefaultKernel_AddFacility8()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("LoggingFacility\\NLog.facilities.test.config");

            facility.SetKerenlAndConfig(kernel, configuration);
            facility.SetUpTypeConverter();
            Assert.IsFalse(facility.IsConfiguredExternally());
            var configFile = facility.GetConfigFile();

            Assert.AreEqual(configFile, "LoggingFacility\\NLog.facilities.test.config");
            var ctorArgs = facility.GetLoggingFactoryArguments(typeof(NLogFactory));

            Assert.AreEqual(ctorArgs.Length, 1);
            Assert.AreEqual(ctorArgs[0], "LoggingFacility\\NLog.facilities.test.config");
            ReflectionUtil.EnsureIsAssignable <ILoggerFactory>(typeof(NLogFactory));
            var constructor = (typeof(NLogFactory)).GetConstructor(BindingFlags.Instance | BindingFlags.Public, null,
                                                                   new[] { typeof(string) }, null);

            Assert.IsNotNull(constructor);
            //var factory = (ILoggerFactory)constructor.Instantiate(ctorArgs);
            var factories = new ConcurrentDictionary <ConstructorInfo, Func <object[], object> >();
            var factory   = BuildFactory(constructor);
            var result    = factory.Invoke(ctorArgs);
        }
コード例 #2
0
 public void Analyze(string fileName)
 {
     if (fileName.Length < 8)
     {
         LoggingFacility.Log("Filename too short: " + fileName);
     }
 }
コード例 #3
0
        public void Test_DefaultKernel_AddFacility5()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("LoggingFacility\\NLog.facilities.test.config");

            facility.SetKerenlAndConfig(kernel, configuration);
            facility.SetUpTypeConverter();
            var logApi = facility.ReadLoggingApi();

            Assert.AreEqual(logApi, LoggerImplementation.NLog);
            var converter         = kernel.GetSubSystem(SubSystemConstants.ConversionManagerKey);
            var loggerFactoryType =
                ((ITypeConverter)converter).PerformConversion <Type>(
                    "Castle.Services.Logging.NLogIntegration.NLogFactory," +
                    "Castle.Services.Logging,Version=3.3.0.0, Culture=neutral," +
                    "PublicKeyToken=407dd0808d44fbdc");

            Assert.AreEqual(loggerFactoryType, typeof(NLogFactory));
            var ctorArgs = facility.GetLoggingFactoryArguments(loggerFactoryType);

            Assert.AreEqual(ctorArgs.Length, 1);
            var factory = loggerFactoryType.CreateInstance <ILoggerFactory>(ctorArgs);
        }
コード例 #4
0
        public void Test_DefaultKernel_AddFacility7()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("LoggingFacility\\NLog.facilities.test.config");

            facility.SetKerenlAndConfig(kernel, configuration);
            facility.SetUpTypeConverter();
            Assert.IsFalse(facility.IsConfiguredExternally());
            var configFile = facility.GetConfigFile();

            Assert.AreEqual(configFile, "LoggingFacility\\NLog.facilities.test.config");
            var ctorArgs = facility.GetLoggingFactoryArguments(typeof(NLogFactory));

            Assert.AreEqual(ctorArgs.Length, 1);
            Assert.AreEqual(ctorArgs[0], "LoggingFacility\\NLog.facilities.test.config");
            ReflectionUtil.EnsureIsAssignable <ILoggerFactory>(typeof(NLogFactory));
            //var factory = ReflectionUtil.Instantiate<ILoggerFactory>(typeof(NLogFactory), ctorArgs ?? new object[0]);
            //var types = ctorArgs.ConvertAll(a => a?.GetType() ?? typeof(object));
            //Assert.AreEqual(types.Length, 1);
            //Assert.AreEqual(types[0], typeof(string));
            var constructor = (typeof(NLogFactory)).GetConstructor(BindingFlags.Instance | BindingFlags.Public, null,
                                                                   new [] { typeof(string) }, null);

            Assert.IsNotNull(constructor);
            var factory = (ILoggerFactory)constructor.Instantiate(ctorArgs);
        }
コード例 #5
0
        public static LoggingFacility UseCustomNLog(this LoggingFacility loggingFacility)
        {
            ///return loggingFacility.LogUsing<CastleNLogLoggerFactory>().WithAppConfig();

            var factory = new CastleNLogLoggerFactory(new NLogFactory());

            return(loggingFacility.LogUsing(factory).WithAppConfig());
        }
コード例 #6
0
ファイル: LogAnalyzer.cs プロジェクト: itfenom/CodeFromBooks
 public void Analyze(string fileName)
 {
     if (fileName.Length < 8)
     {
         LoggingFacility.Log("aFilename too short:" + fileName);
     }
     //rest of the method here
 }
コード例 #7
0
        protected IWindsorContainer RegisterLoggingFacility(IWindsorContainer container)
        {
            var logging = new LoggingFacility(LoggerImplementation.ExtendedLog4net);

            container.AddFacility(logging);

            memoryAppender = new MemoryAppender();
            BasicConfigurator.Configure(memoryAppender);
            return(container);
        }
コード例 #8
0
        public void Test_DefaultKernel_AddFacility()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            Assert.AreEqual(facility.GetType().FullName, "Castle.Facilities.Logging.LoggingFacility");
            var kernel = new DefaultKernel();

            kernel.AddFacility(facility);
        }
コード例 #9
0
        public void Test_DefaultKernel_AddFacility2()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

#pragma warning disable 612, 618
            kernel.AddFacility("Castle.Facilities.Logging.LoggingFacility", facility);
#pragma warning restore 612, 618
        }
コード例 #10
0
ファイル: BaseTest.cs プロジェクト: gschuager/Castle.Windsor
		protected virtual IWindsorContainer CreateConfiguredContainer(LoggerImplementation loggerApi, String custom)
		{
			IWindsorContainer container = new WindsorContainer(new DefaultConfigurationStore());
			var configFile = GetConfigFile(loggerApi);

			LoggingFacility facility = new LoggingFacility(loggerApi, custom, configFile);

			container.AddFacility("logging", facility);

			return container;
		}
コード例 #11
0
        public void Test_Kernel_AddFacility_Null()
        {
            IKernel kernel     = new DefaultKernel();
            var     configFile = GetConfigFile(LoggerImplementation.ExtendedLog4net);
            Action <LoggingFacility> onCreate = f => f.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(configFile);
            var facility = new LoggingFacility();

            onCreate.Invoke(facility);
            ((IFacility)facility).Init(kernel, null);
            Assert.IsNotNull(facility);
        }
コード例 #12
0
        public void Test_Facility()
        {
            IKernel kernel = new DefaultKernel();

            kernel.ConfigurationStore = new DefaultConfigurationStore();
            var configFile = GetConfigFile(LoggerImplementation.ExtendedLog4net);
            Action <LoggingFacility> onCreate = f => f.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(configFile);
            var facility = new LoggingFacility();

            onCreate.Invoke(facility);
            Assert.IsNotNull(facility);
        }
コード例 #13
0
ファイル: ContentManager.cs プロジェクト: Alnasl/nMVC
        /// <summary>
        /// File Changed Handler
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="e">E.</param>
        void HandleChanged(object sender, FileSystemEventArgs e)
        {
            var match = this.content.Keys
                        .Where(s => new Regex(s.Split('/').Last()).Match(e.Name).Success)
                        .ToArray();

            if (this.content.Keys.Any(a => a == match.First()))
            {
                LoggingFacility.GetConfigurationDefault().WriteLine(match.First() + " changed.");
                this.content[match.First()].BeginUpdate();
            }
        }
コード例 #14
0
        public void Test_Kernel_AddFacility_ToFacilities()
        {
            IKernel kernel = new DefaultKernel();

            kernel.ConfigurationStore = new DefaultConfigurationStore();
            var configFile = GetConfigFile(LoggerImplementation.ExtendedLog4net);
            Action <LoggingFacility> onCreate = f => f.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(configFile);
            var facility = new LoggingFacility();

            onCreate.Invoke(facility);
            ((IFacility)facility).Init(kernel, kernel.ConfigurationStore.GetFacilityConfiguration("Castle.Facilities.Logging.LoggingFacility"));
            Assert.IsNotNull(facility);
        }
コード例 #15
0
        public void CanAddConfiguarion()
        {
            IFacility[]     facilities = _container.Kernel.GetFacilities();
            LoggingFacility logging    = (LoggingFacility)Array.Find(facilities,
                                                                     delegate(IFacility obj)
            {
                return(obj is LoggingFacility);
            });
            string attribute = logging.FacilityConfig.Attributes["loggingApi"];

            Assert.AreEqual("Log4net", attribute);
            attribute = logging.FacilityConfig.Attributes["configFile"];
            Assert.AreEqual("log4net.config", attribute);
        }
コード例 #16
0
        public void Test_Facility_FullName()
        {
            IKernel kernel = new DefaultKernel();

            kernel.ConfigurationStore = new DefaultConfigurationStore();
            var configFile = GetConfigFile(LoggerImplementation.ExtendedLog4net);

            Assert.AreEqual(configFile, "LoggingFacility\\log4net.facilities.test.config");
            Action <LoggingFacility> onCreate = f => f.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(configFile);
            var facility = new LoggingFacility();

            onCreate.Invoke(facility);
            Assert.AreEqual(facility.GetType().FullName, "Castle.Facilities.Logging.LoggingFacility");
        }
コード例 #17
0
        public void Test_DefaultKernel_AddFacility4()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("LoggingFacility\\NLog.facilities.test.config");

            facility.SetKerenlAndConfig(kernel, configuration);
            facility.SetUpTypeConverter();
            var logApi  = facility.ReadLoggingApi();
            var factory = facility.CreateProperLoggerFactory(logApi);
        }
コード例 #18
0
        public void Test_Kernel_AddFacility_WithFullName()
        {
            IKernel kernel = new DefaultKernel();

            kernel.ConfigurationStore = new DefaultConfigurationStore();
            var configFile = GetConfigFile(LoggerImplementation.ExtendedLog4net);
            Action <LoggingFacility> onCreate = f => f.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(configFile);
            var facility = new LoggingFacility();

            onCreate.Invoke(facility);
#pragma warning disable 612, 618
            kernel.AddFacility("Castle.Facilities.Logging.LoggingFacility", facility);
#pragma warning restore 612, 618
            Assert.IsNotNull(facility);
        }
コード例 #19
0
ファイル: ContentManager.cs プロジェクト: Alnasl/nMVC
        private void WalkDirectoryTree(System.IO.DirectoryInfo root, int depth = 1)
        {
            System.IO.FileInfo[]      files   = null;
            System.IO.DirectoryInfo[] subDirs = null;
            files = root.GetFiles("*.*");
            if (files != null)
            {
                foreach (System.IO.FileInfo fi in files)
                {
                    string ext = fi.Extension.ToLower().Replace('.', ' ').Trim();
                    if (!UtilitiesManager.Instance.mimeTypes.ContainsKey(ext))
                    {
                        LoggingFacility.GetConfigurationDefault().WriteLine("unsupported file type " + fi.FullName);
                        continue;
                    }

                    string filekey = "";

                    fi.DirectoryName
                    .Split(Path.DirectorySeparatorChar)
                    .Reverse()
                    .Take(depth)
                    .Reverse()
                    .ToList()
                    .ForEach(s => filekey += s + Path.DirectorySeparatorChar);

                    this.content.Add(filekey + fi.Name, new ContentFile(fi.FullName,
                                                                        UtilitiesManager.Instance.mimeTypes[ext]));
                }

                // Now find all the subdirectories under this directory.
                subDirs = root.GetDirectories();

                foreach (System.IO.DirectoryInfo dirInfo in subDirs)
                {
                    FileSystemWatcher fsw = new FileSystemWatcher(dirInfo.FullName);
                    fsw.Changed            += HandleChanged;
                    fsw.Created            += HandleCreated;
                    fsw.Deleted            += HandleDeleted;
                    fsw.EnableRaisingEvents = true;
                    fsw.BeginInit();
                    fswl.Add(fsw);

                    // Resursive call for each subdirectory.
                    WalkDirectoryTree(dirInfo, depth + 1);
                }
            }
        }
コード例 #20
0
        public void Test_Kenel_GetFacilityConfiguration()
        {
            var kernel = new DefaultKernel();

            kernel.ConfigurationStore = new DefaultConfigurationStore();
            var configFile = GetConfigFile(LoggerImplementation.ExtendedLog4net);
            Action <LoggingFacility> onCreate = f => f.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(configFile);
            var facility = new LoggingFacility();

            onCreate.Invoke(facility);
#pragma warning disable 612, 618
            kernel.InsertOneFacility(facility);
#pragma warning restore 612, 618
            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("Castle.Facilities.Logging.LoggingFacility");
            Assert.IsNull(configuration);
        }
コード例 #21
0
        public void NestedConfiguration()
        {
            IFacility[]     facilities = _container.Kernel.GetFacilities();
            LoggingFacility logging    = (LoggingFacility)Array.Find(facilities,
                                                                     delegate(IFacility obj)
            {
                return(obj is LoggingFacility);
            });

            IConfiguration child = logging.FacilityConfig.Children["NestedConfig"];

            Assert.IsNotNull(child);
            string attribute = child.Attributes["something"];

            Assert.AreEqual("foo", attribute);
            attribute = child.Attributes["bar"];
            Assert.AreEqual("nar", attribute);
        }
コード例 #22
0
        public virtual void CreateLoggingFacility(LoggingFacility f)
        {
            //Check log4net.config location, we can accept a local log4net.config
            //or a general one located in parent folder of the job
            var parentLog4net = new FileInfo("..\\log4net.config");

            Console.WriteLine("START: Searching log4net in: {0}", parentLog4net.FullName);
            if (parentLog4net.Exists)
            {
                f.LogUsing(new ExtendedLog4netFactory(parentLog4net.FullName));
            }
            else
            {
                Console.WriteLine("FAILED: Searching log4net in: {0}", parentLog4net.FullName);
                var log4net = new FileInfo("log4net.config");
                Console.WriteLine("Use Default log4net in: {0}", log4net.FullName);
                if (!log4net.Exists)
                {
                    Console.Error.WriteLine("ERROR, UNABLE TO FIND LOG4NET IN: {0}", log4net.FullName);
                    Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

                    RollingFileAppender roller = new RollingFileAppender();
                    PatternLayout       layout = new PatternLayout("% date{ MMM / dd / yyyy HH:mm: ss,fff} [%thread] %-5level %logger %ndc – %message%newline");
                    roller.AppendToFile       = false;
                    roller.File               = @"Logs\error.txt";
                    roller.Layout             = layout;
                    roller.MaxSizeRollBackups = 5;
                    roller.MaximumFileSize    = "1GB";
                    roller.RollingStyle       = RollingFileAppender.RollingMode.Size;
                    roller.StaticLogFileName  = true;
                    roller.ActivateOptions();
                    roller.Threshold = Level.Warn;
                    hierarchy.Root.AddAppender(roller);

                    ConsoleAppender ca = CreateConsoleAppender();
                    hierarchy.Root.AddAppender(ca);
                    hierarchy.Root.Level = Level.Info;
                    hierarchy.Configured = true;
                }
                f.LogUsing(new ExtendedLog4netFactory(log4net.FullName));
            }
        }
コード例 #23
0
        public void Test_DefaultKernel_AddFacility14()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("LoggingFacility\\NLog.facilities.test.config");

            facility.SetKerenlAndConfig(kernel, configuration);
            facility.SetUpTypeConverter();
            var loggerFactory = facility.ReadConfigurationAndCreateLoggerFactory();

            facility.RegisterLoggerFactory(loggerFactory);
            var extendedLoggerFactory = loggerFactory as NLogFactory;

            Assert.IsNotNull(extendedLoggerFactory);
            ((NLogFactory)loggerFactory).Create("LoggingFacility\\NLog.facilities.test.config");
            //facility.RegisterDefaultILogger(loggerFactory);
        }
コード例 #24
0
        public void Test_DefaultKernel_AddFacility6()
        {
            var facility = new LoggingFacility();

            facility.LogUsing(LoggerImplementation.NLog).WithConfig("LoggingFacility\\NLog.facilities.test.config");
            var kernel = new DefaultKernel();

            var configuration =
                kernel.ConfigurationStore.GetFacilityConfiguration("LoggingFacility\\NLog.facilities.test.config");

            facility.SetKerenlAndConfig(kernel, configuration);
            facility.SetUpTypeConverter();
            Assert.IsFalse(facility.IsConfiguredExternally());
            var configFile = facility.GetConfigFile();

            Assert.AreEqual(configFile, "LoggingFacility\\NLog.facilities.test.config");
            var ctorArgs = facility.GetLoggingFactoryArguments(typeof(NLogFactory));

            Assert.AreEqual(ctorArgs.Length, 1);
            Assert.AreEqual(ctorArgs[0], "LoggingFacility\\NLog.facilities.test.config");
            ReflectionUtil.EnsureIsAssignable <ILoggerFactory>(typeof(NLogFactory));
            var factory = ReflectionUtil.Instantiate <ILoggerFactory>(typeof(NLogFactory), ctorArgs ?? new object[0]);
        }
コード例 #25
0
        public virtual void CreateLoggingFacility(LoggingFacility f)
        {
            //Check log4net.config location, we can accept a local log4net.config
            //or a general one located in parent folder of the job
            var parentLog4net = new FileInfo("..\\log4net.config");

            Console.WriteLine("START: Searching log4net in: {0}", parentLog4net.FullName);
            if (parentLog4net.Exists)
            {
                f.LogUsing(new ExtendedLog4netFactory(parentLog4net.FullName));
            }
            else
            {
                Console.WriteLine("FAILED: Searching log4net in: {0}", parentLog4net.FullName);
                var log4net = new FileInfo("log4net.config");
                Console.WriteLine("Use Default log4net in: {0}", log4net.FullName);
                if (!log4net.Exists)
                {
                    Console.Error.WriteLine("ERROR, UNABLE TO FIND LOG4NET IN: {0}", log4net.FullName);
                }
                f.LogUsing(new ExtendedLog4netFactory(log4net.FullName));
            }
        }
コード例 #26
0
		protected virtual IWindsorContainer CreateConfiguredContainer(LoggerImplementation loggerApi, String custom)
		{
			IWindsorContainer container = new WindsorContainer(new DefaultConfigurationStore());
			string configFile = string.Empty;

   
			switch (loggerApi)
			{
				case LoggerImplementation.Log4net:
					{
						configFile = "log4net.facilities.test.config";
						break;
					}
				case LoggerImplementation.NLog:
					{
						configFile = "NLog.facilities.test.config";
						break;
					}
				case LoggerImplementation.ExtendedLog4net:
					{
						configFile = "log4net.facilities.test.config";
						break;
					}
				case LoggerImplementation.ExtendedNLog:
					{
						configFile = "NLog.facilities.test.config";
						break;
					}
			}


			LoggingFacility facility = new LoggingFacility(loggerApi, custom, configFile);

			container.AddFacility("logging", facility);

			return container;
		}
コード例 #27
0
 public static LoggingFacility UseSharePlatformLog4Net(this LoggingFacility loggingFacility)
 {
     return(loggingFacility.LogUsing <Log4NetLoggerFactory>());
 }
コード例 #28
0
 public bool IsConfigured(string configName)
 {
     LoggingFacility.Log("checking " + configName);
     return(false);
 }
コード例 #29
0
 public static LoggingFacility UseAbpNLog(this LoggingFacility loggingFacility)
 {
     return(loggingFacility.LogUsing <NLogLoggerFactory>());
 }
コード例 #30
0
 public static LoggingFacility UseInfrastructureLog4Net(this LoggingFacility loggingFacility)
 {
     return(loggingFacility.LogUsing <Log4NetLoggerFactory>());
 }
コード例 #31
0
ファイル: Constructor.cs プロジェクト: Alan-Baylis/Isle-Story
    public new static LoggingFacility Load(BinaryReader reader)
    {
        LoggingFacility ret = (LoggingFacility)Instantiate(TriIsleland.GetBuildingPrefabs((int)BuildingType.COMPANY, (int)CompType.CONSTRUCTOR, 0));

        return(ret);
    }
コード例 #32
0
 public static LoggingFacility UseAbpLog4Net(this LoggingFacility loggingFacility)
 {
     return(loggingFacility.LogUsing <Log4NetLoggerFactory>());
 }