public LoggerConfiguration()
 {
     this.repository = LoggerManager.CreateRepository(RepositoryName);
     hierarchy       = repository as Hierarchy;
     pattern();
     CommonAppenderConfig();
 }
        static void Main(string[] args)
        {
            var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());

            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));

            Thread.SpinWait(4000);
            string repositoryName = string.Format("Repository");

            ILoggerRepository repository = LoggerManager.CreateRepository(repositoryName);

            log4net.Config.XmlConfigurator.Configure(repository);

            var log = LogManager.GetLogger(typeof(Program));

            Thread thread = Thread.CurrentThread;

            thread.Name = "Main Thread";
            ThreadContext.Properties["MainThreadContext"] = "MainThreadContextValue";
            log.Info("Nikhil test");
            log.Error("oops", new ArgumentOutOfRangeException("argArray"));
            log.Warn("hmmm", new ApplicationException("app exception"));
            log.Info("yawn");



            Console.ReadKey();
        }
Esempio n. 3
0
        private static ILog InternalCreateRollingFileAppender(string repositoryName, string loggerName, string file, Encoding encoding, string pattern = "%date [%thread] %-5level - %message%newline", string maxFileSize = "100MB")
        {
            Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = pattern;
            patternLayout.ActivateOptions();

            RollingFileAppender roller = new RollingFileAppender();

            roller.File               = file;
            roller.AppendToFile       = true;
            roller.MaxSizeRollBackups = -1;
            roller.MaximumFileSize    = maxFileSize;
            roller.StaticLogFileName  = true;
            roller.Encoding           = encoding;
            roller.Layout             = patternLayout;
            roller.RollingStyle       = RollingFileAppender.RollingMode.Size;
            roller.ActivateOptions();

            hierarchy.Root.AddAppender(roller);
            hierarchy.Root.Level = Level.Debug;

            ILoggerRepository repository = LoggerManager.CreateRepository(repositoryName);

            BasicConfigurator.Configure(repository, roller);

            return(LogManager.GetLogger(repositoryName, loggerName));
        }
Esempio n. 4
0
        private ILog InitializeLogger(string connectionString)
        {
            var filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();

            var appender = new PostgreSqlAppender(connectionString);

            appender.AddFilter(filter);
            appender.ActivateOptions();

            string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().FullName;

            this.repositoryName = String.Format("{0} Repository", assemblyName);

            var repository = LoggerManager.CreateRepository(repositoryName);

            string loggerName = String.Format("{0} Logger", assemblyName);

            BasicConfigurator.Configure(repository, appender);
            ILog logger = LogManager.GetLogger(repositoryName, loggerName);

            return(logger);
        }
        static Log4NetLogger()
        {
            string path     = String.Format("{0}.config", Assembly.GetExecutingAssembly().CodeBase);
            string fileName = LoggingConfigurationSettings.Instance.ConfigurationFile;

            if (!String.IsNullOrEmpty(fileName))
            {
                if (Path.GetFileName(fileName) == fileName)
                {
                    //it's just a file name, use current directory
                    path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase), fileName);
                }
                else
                {
                    //assume it's rooted
                    path = fileName;
                }
            }

            if (!File.Exists(path))
            {
                throw new FileNotFoundException("Can not find file: " + path);
            }
            var repository = LoggerManager.CreateRepository(_repositoryName);

            log4net.Config.XmlConfigurator.Configure(repository, new Uri(path));

            _jsonSettings = new JsonSerializerSettings();
            _jsonSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            _jsonSettings.Converters.Add(new StringEnumConverter());
            _jsonSettings.TypeNameHandling   = Newtonsoft.Json.TypeNameHandling.Auto;
            _jsonSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
        }
Esempio n. 6
0
        // Create a new file appender
        public static void ConfigureLog4net(string name, string fileName)
        {
            PatternLayout layout = new PatternLayout("%date{yyyy-MM-dd HH:mm:ss,fff} %-5level [%thread]: %message%newline");

            layout.ActivateOptions();

            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();

            var appender = new FileAppender();

            appender.Name         = name;
            appender.File         = fileName;
            appender.AppendToFile = false;

            appender.Layout = layout;
            appender.AddFilter(filter);
            appender.ActivateOptions();

            ILoggerRepository repository = LoggerManager.CreateRepository(name);

            BasicConfigurator.Configure(repository, appender);
        }
Esempio n. 7
0
        /// <summary>
        /// Configures the <see cref="T:log4net.Repository.ILoggerRepository" /> using the specified configuration
        /// file.
        /// </summary>
        /// <param name="configFile">The XML file to load the configuration from.</param>
        /// <remarks>
        /// <para>
        /// The configuration file must be valid XML. It must contain
        /// at least one element called <c>log4net</c> that holds
        /// the configuration data.
        /// </para>
        /// <para>
        /// The log4net configuration file can possible be specified in the application's
        /// configuration file (either <c>MyAppName.exe.config</c> for a
        /// normal application on <c>Web.config</c> for an ASP.NET application).
        /// </para>
        /// <para>
        /// The first element matching <c>&lt;configuration&gt;</c> will be read as the
        /// configuration. If this file is also a .NET .config file then you must specify
        /// a configuration section for the <c>log4net</c> element otherwise .NET will
        /// complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler" />, for example:
        /// <code lang="XML" escaped="true">
        /// <configSections>
        ///     <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
        /// </configSections>
        /// </code>
        /// </para>
        /// <example>
        /// The following example configures log4net using a configuration file, of which the
        /// location is stored in the application's configuration file :
        /// </example>
        /// <code lang="C#">
        /// using log4net.Config;
        /// using System.IO;
        /// using System.Configuration;
        ///
        /// ...
        ///
        /// XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
        /// </code>
        /// <para>
        /// In the <c>.config</c> file, the path to the log4net can be specified like this :
        /// </para>
        /// <code lang="XML" escaped="true">
        /// <configuration>
        ///     <appSettings>
        ///         <add key="log4net-config-file" value="log.config" />
        ///     </appSettings>
        /// </configuration>
        /// </code>
        /// </remarks>
        public static ICollection Configure(FileInfo configFile)
        {
            // 创建默认工厂
            ILoggerRepository repository;
            string            repositoryName = "log4net-default-repository";  // 默认工厂

            if (LoggerManager.Exists(repositoryName))
            {
                repository = LoggerManager.GetRepository(repositoryName);
            }
            else
            {
                repository = LoggerManager.CreateRepository(repositoryName);
            }

            // 进行配置
            ArrayList arrayList = new ArrayList();

            using (new LogLog.LogReceivedAdapter(arrayList))
            {
                InternalConfigure(repository, configFile);
            }
            repository.ConfigurationMessages = arrayList;

            return(arrayList);
        }
Esempio n. 8
0
        public TracingInterceptor(string filePath)
        {
            PatternLayout layout = new PatternLayout("% date{ MMM / dd / yyyy HH:mm: ss,fff} [%thread] %-5level %logger %ndc – %message%newline");

            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();

            RollingFileAppender appender = new RollingFileAppender();

            appender.File           = filePath;
            appender.ImmediateFlush = true;
            appender.AppendToFile   = true;
            appender.RollingStyle   = RollingFileAppender.RollingMode.Date;
            appender.DatePattern    = "-yyyy - MM - dd";
            appender.LockingModel   = new FileAppender.MinimalLock();
            appender.Name           = "MyAppender";
            appender.AddFilter(filter);
            appender.Layout = layout;
            appender.ActivateOptions();

            ILoggerRepository repository = LoggerManager.CreateRepository("MyRepository");

            BasicConfigurator.Configure(repository, appender);

            _logger = LogManager.GetLogger("MyRepository", "MyLogger");
        }
Esempio n. 9
0
        private static ILog CreateUserManagementLogger()
        {
            string instanceName = "UserManagement";

            PatternLayout layout = new PatternLayout(
                "% date{ MMM / dd / yyyy HH:mm: ss,fff}[%thread] %-5level %logger %ndc – %message%newline");

            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();

            RollingFileAppender appender = new RollingFileAppender();

            appender.File           = "userManagement.log"; // string.Format("{0}\\{1}", "", "common.log");
            appender.ImmediateFlush = true;
            appender.AppendToFile   = true;
            appender.RollingStyle   = RollingFileAppender.RollingMode.Date;
            appender.DatePattern    = "-yyyy - MM - dd";
            appender.LockingModel   = new FileAppender.MinimalLock();
            appender.Name           = string.Format("{0}Appender", instanceName);
            appender.AddFilter(filter);
            appender.Layout = layout;
            appender.ActivateOptions();

            string            repositoryName = string.Format("{0}Repository", instanceName);
            ILoggerRepository repository     = LoggerManager.CreateRepository(repositoryName);
            string            loggerName     = string.Format("{0}Logger", instanceName);

            BasicConfigurator.Configure(repository, appender);
            return(LogManager.GetLogger(repositoryName, loggerName));
        }
Esempio n. 10
0
        /// <summary>
        /// Initializes with a default configuration.
        /// </summary>
        /// <remarks>
        /// <para>
        /// Initializes the specified repository using a <see cref="T:log4net.Appender.ConsoleAppender" />
        /// that will write to <c>Console.Out</c>. The log messages are
        /// formatted using the <see cref="T:log4net.Layout.PatternLayout" /> layout object
        /// with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern" />
        /// layout style.
        /// </para>
        /// </remarks>
        public static ICollection Configure()
        {
            // 创建默认工厂
            ILoggerRepository repository;
            string            repositoryName = "log4net-default-repository";  // 默认工厂

            if (LoggerManager.Exists(repositoryName))
            {
                repository = LoggerManager.GetRepository(repositoryName);
            }
            else
            {
                repository = LoggerManager.CreateRepository(repositoryName);
            }

            // 进行配置
            ArrayList arrayList = new ArrayList();

            using (new LogLog.LogReceivedAdapter(arrayList))
            {
                PatternLayout patternLayout = new PatternLayout();
                patternLayout.ConversionPattern = "%timestamp [%thread] %level %logger %ndc - %message%newline";
                patternLayout.ActivateOptions();
                ConsoleAppender consoleAppender = new ConsoleAppender();
                consoleAppender.Layout = patternLayout;
                consoleAppender.ActivateOptions();
                InternalConfigure(repository, consoleAppender);
            }
            repository.ConfigurationMessages = arrayList;
            return(arrayList);
        }
Esempio n. 11
0
		public Log4NetLogger(string categoryName, XmlElement configuration)
		{
			var loggerRepository = LoggerManager.CreateRepository(Assembly.GetEntryAssembly(), typeof(Hierarchy));

			_log = LogManager.GetLogger(loggerRepository.Name, categoryName);

			log4net.Config.XmlConfigurator.Configure(loggerRepository, configuration);
		}
Esempio n. 12
0
        public Test()
        {
            this.Id = _id;
            _id++;
            String repoId = Guid.NewGuid().ToString();

            repository = LoggerManager.CreateRepository(repoId);
        }
Esempio n. 13
0
        public Log4NetLogger(string categoryName, XmlElement Config)
        {
            var loggerRep = LoggerManager.CreateRepository(
                Assembly.GetEntryAssembly(),
                typeof(log4net.Repository.Hierarchy.Hierarchy));

            _log = log4net.LogManager.GetLogger(loggerRep.Name, categoryName);
            log4net.Config.XmlConfigurator.Configure(loggerRep, Config);
        }
Esempio n. 14
0
 public void ConfigureUserLog()
 {
     this.repositoryName = "Log";
     lock (repositoryLocker)
     {
         this.repository = LoggerManager.CreateRepository(repositoryName);
     }
     Reconfigure(null, GetLogDefault());
 }
Esempio n. 15
0
        public AppLoggerLog4Net(string name)
        {
            var repository = LoggerManager.CreateRepository(name, typeof(log4net.Repository.Hierarchy.Hierarchy));

            XmlConfigurator.Configure(repository);

            // настраиваеться в конфиге
            _logger = LogManager.GetLogger(repository.Name, name);
        }
Esempio n. 16
0
 static LogService()
 {
     loggerRepository = LoggerManager.CreateRepository("CoreRepository");
     XmlConfigurator.Configure(loggerRepository, new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config"));//此文件需要选择始终复制
     logInfo    = LogManager.GetLogger("CoreRepository", "InfoLog");
     logError   = LogManager.GetLogger("CoreRepository", "ErrorLog");
     logDebug   = LogManager.GetLogger("CoreRepository", "DebugLog");
     logWarning = LogManager.GetLogger("CoreRepository", "WarningLog");
 }
Esempio n. 17
0
        public Log4NetLogger()
        {
            var repo = LoggerManager.CreateRepository("LoggerRepo");

            XmlConfigurator.ConfigureAndWatch(repo, new FileInfo(Path.Combine(Environment.CurrentDirectory, ".\\log4net.config")));
            ILog log = LogManager.GetLogger("LoggerRepo", "Logger");

            this.log = log;
        }
Esempio n. 18
0
        public static void Initialize(string repository)
        {
            if (isInitialized)
            {
                throw NewAlreadyInitializedException();
            }

            loggerRepository = LoggerManager.CreateRepository(repository);
            isInitialized    = true;
        }
Esempio n. 19
0
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(env.ContentRootPath)
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)//增加环境配置文件,新建项目默认有;当debug模式运行调用的是 appsettings.Development.json配置内容
                          .AddEnvironmentVariables();

            Configuration = builder.Build();
            repository    = LoggerManager.CreateRepository("NETCoreRepsitory");
            SqlConnecting = Configuration.GetConnectionString("DefaultConnection");
            XmlConfigurator.Configure(repository, new System.IO.FileInfo("log4net.config"));
        }
Esempio n. 20
0
        public Loger(Type t)
        {
            var Repository = LoggerManager.GetAllRepositories().FirstOrDefault(p => p.Name == Name);

            if (Repository == null)
            {
                Repository = LoggerManager.CreateRepository(Name);
            }
            FileInfo fi = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + ("/config/log4net.config"));

            XmlConfigurator.Configure(Repository, fi);
            _instance = Repository.GetLogger(Name);
        }
Esempio n. 21
0
        private static ILog GenerateLogger(string instanceName)
        {
            var               folderPath     = Environment.CurrentDirectory;
            PatternLayout     layout         = new PatternLayout(@"-------------------------------------------------------------------------------%newline
%date{ MM / dd / yyyy HH:mm: ss,fff}[%thread] %-5level %logger %ndc – %message%newline");
            string            repositoryName = string.Format("{0}Repository", instanceName);
            ILoggerRepository repository     = LoggerManager.CreateRepository(repositoryName);
            string            loggerName     = string.Format("{0}Logger", instanceName);

            BasicConfigurator.Configure(repository, CreateAppender(Level.Info, layout, instanceName), CreateAppender(Level.Error, layout, instanceName));
            ILog logger = LogManager.GetLogger(repositoryName, loggerName);

            return(logger);
        }
Esempio n. 22
0
        public TracingInterceptor()
        {
            PatternLayout layout = new PatternLayout();

            ConsoleAppender appender = new ConsoleAppender();

            appender.Layout = layout;
            appender.ActivateOptions();

            ILoggerRepository repository = LoggerManager.CreateRepository("MyRepository");

            BasicConfigurator.Configure(repository, appender);

            _logger = LogManager.GetLogger("MyRepository", "MyLogger");
        }
Esempio n. 23
0
        public void TestAppenderReconfiguration()
        {
            Person[] expectedPersons = new Person[]
            {
                null,
                new Person("Person1"),
                new Person("Person2"),
            };

            RollbarAppender appender = new RollbarAppender(
                RollbarUnitTestSettings.AccessToken,
                RollbarUnitTestSettings.Environment,
                TimeSpan.FromSeconds(3)
                );

            string repositoryName = typeof(RollbarAppenderFixture).Name;
            var    repository     = LoggerManager.CreateRepository(repositoryName);
            string loggerName     = typeof(RollbarAppenderFixture).Name;

            BasicConfigurator.Configure(repository, appender);
            ILog log = LogManager.GetLogger(repositoryName, loggerName);


            log.Info("Via log4net");

            RollbarConfig newConfig = new RollbarConfig();

            newConfig.Reconfigure(appender.RollbarConfig);
            newConfig.Person = expectedPersons[1];
            appender.RollbarConfig.Reconfigure(newConfig);
            log.Info("Via log4net");

            newConfig = new RollbarConfig();
            newConfig.Reconfigure(appender.RollbarConfig);
            newConfig.Person      = expectedPersons[2];
            newConfig.ScrubFields = new string[]
            {
                "log4net:UserName",
                "log4net:HostName",
                "log4net:Identity",
            };
            appender.RollbarConfig.Reconfigure(newConfig);
            log.Info("Via log4net");

            Assert.IsFalse(this._rollbarCommEvents[0].Payload.Contains("Person"));
            Assert.IsTrue(this._rollbarCommEvents[1].Payload.Contains(expectedPersons[1].Id));
            Assert.IsTrue(this._rollbarCommEvents[2].Payload.Contains(expectedPersons[2].Id));
        }
Esempio n. 24
0
        /// <summary>
        /// 创建日志实例
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        private static ILog CreateLoggerInstance(string name)
        {
            // Pattern Layout
            PatternLayout layout = new PatternLayout("[%logger][%date]%message\r\n");
            // Level Filter
            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();
            // File Appender
            RollingFileAppender appender = new RollingFileAppender();

            // 目录
            appender.File = $"log{Path.AltDirectorySeparatorChar}{name}.log";
            // 立即写入磁盘
            appender.ImmediateFlush = true;
            // true:追加到文件;false:覆盖文件
            appender.AppendToFile = true;
            // 新的日期或者文件大小达到上限,新建一个文件
            appender.RollingStyle = RollingFileAppender.RollingMode.Once;
            // 文件大小达到上限,新建文件时,文件编号放到文件后缀前面
            appender.PreserveLogFileNameExtension = true;
            // 最小锁定模型以允许多个进程可以写入同一个文件
            appender.LockingModel = new FileAppender.MinimalLock();
            appender.Name         = $"{name}Appender";
            appender.AddFilter(filter);
            appender.Layout = layout;
            appender.ActivateOptions();
            // 设置无限备份=-1 ,最大备份数为30
            appender.MaxSizeRollBackups = 30;
            appender.StaticLogFileName  = true;
            string repositoryName = $"{name}Repository";

            try
            {
                LoggerManager.GetRepository(repositoryName);
            }
            catch
            {
                ILoggerRepository repository = LoggerManager.CreateRepository(repositoryName);
                BasicConfigurator.Configure(repository, appender);
            }
            var logger = LogManager.GetLogger(repositoryName, name);

            return(logger);
        }
Esempio n. 25
0
        internal static Hierarchy GetRepository(string repositoryname)
        {
            var repositories = LoggerManager.GetAllRepositories();
            var repository   = repositories.FirstOrDefault(t => t.Name == repositoryname);

            if (repository == null)
            {
                lock (LockObj)
                {
                    repositories = LoggerManager.GetAllRepositories();
                    repository   = repositories.FirstOrDefault(t => t.Name == repositoryname);
                    if (repository == null)
                    {
                        repository = LoggerManager.CreateRepository(repositoryname);
                    }
                }
            }
            return(repository as Hierarchy);
        }
Esempio n. 26
0
        public ILog GetLog()
        {
            if (this.configurationRoot == null)
            {
                this.configurationRoot = this.GetConfigurationRoot(this.fileFolderPath, this.fileName);
            }

            IConfigurationSection          log4netSection = this.GetLog4NetConfigurationSection(this.configurationRoot);
            IEnumerable <AppenderSkeleton> appenders      = this.GetAppenders(this.configurationRoot, log4netSection);
            IConfigurationSection          loggerSection  = this.GetLoggerSection(log4netSection);

            IConfigurationSection name       = loggerSection.GetSection("name");
            string            repositoryName = String.Format("{0} Repository", name.Value);
            ILoggerRepository repository     = LoggerManager.CreateRepository(repositoryName);
            string            loggerName     = String.Format("{0} Logger", name.Value);

            IConfigurationSection level = loggerSection.GetSection("level");
            string levelName            = "All";

            if (level != null && !String.IsNullOrEmpty(level.Value))
            {
                levelName = level.Value;
            }
            ILoggerRepository loggerRepository = LoggerManager.GetAllRepositories().FirstOrDefault();
            LevelMatchFilter  filter           = new LevelMatchFilter();

            filter.LevelToMatch = loggerRepository.LevelMap[levelName];
            filter.ActivateOptions();

            foreach (var appender in appenders)
            {
                appender.AddFilter(filter);
                appender.ActivateOptions();

                BasicConfigurator.Configure(repository, appender);
            }

            ILog logger = LogManager.GetLogger(repositoryName, loggerName);

            return(logger);
        }
Esempio n. 27
0
        //another create version

        public static log4net.Appender.IAppender createAnotherThingy()
        {
            string folderPath   = "C:\\OzzElectricLogs";
            string instanceName = "instanceNameGod";

            //Layout Pattern
            PatternLayout layout = new PatternLayout("% date{ MMM / dd / yyyy HH:mm: ss,fff}[%thread] %-5level %logger %ndc – %message%newline");

            //Level Filter
            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();

            RollingFileAppender appender = new RollingFileAppender();

            appender.File           = string.Format("{0}\\{1}", folderPath, "common.log");
            appender.ImmediateFlush = true;
            appender.AppendToFile   = true;
            appender.RollingStyle   = RollingFileAppender.RollingMode.Date;
            appender.DatePattern    = "-yyyy-MM-dd";
            appender.LockingModel   = new FileAppender.MinimalLock();
            appender.Name           = string.Format("{0}Appender", instanceName);
            appender.AddFilter(filter);
            appender.ActivateOptions();

            //Populate the log instance
            string            repositoryName = string.Format("{0}Repository", instanceName);
            ILoggerRepository repository     = LoggerManager.CreateRepository(repositoryName);
            string            loggerName     = string.Format("{0}Logger", instanceName);

            BasicConfigurator.Configure(repository, appender);

            ILog loggering = LogManager.GetLogger(repositoryName, loggerName);

            loggering.Debug("test print yo");


            return(appender);
        }
Esempio n. 28
0
 /// <summary>
 /// Creates a repository with the specified name and repository type.
 /// </summary>
 /// <remarks>
 /// <para>
 /// The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
 /// An <see cref="Exception"/> will be thrown if the repository already exists.
 /// </para>
 /// </remarks>
 /// <param name="repository">The name of the repository, this must be unique to the repository.</param>
 /// <param name="repositoryType">A <see cref="Type"/> that implements <see cref="ILoggerRepository"/>
 /// and has a no arg constructor. An instance of this type will be created to act
 /// as the <see cref="ILoggerRepository"/> for the repository specified.</param>
 /// <returns>The <see cref="ILoggerRepository"/> created for the repository.</returns>
 /// <exception cref="LogException">The specified repository already exists.</exception>
 public static ILoggerRepository CreateRepository(string repository, Type repositoryType)
 {
     return(LoggerManager.CreateRepository(repository, repositoryType));
 }
Esempio n. 29
0
 /// <summary>
 /// Creates a repository for the specified assembly and repository type.
 /// </summary>
 /// <remarks>
 /// <para>
 /// The <see cref="ILoggerRepository"/> created will be associated with the repository
 /// specified such that a call to <see cref="GetRepository(Assembly)"/> with the
 /// same assembly specified will return the same repository instance.
 /// </para>
 /// </remarks>
 /// <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
 /// <param name="repositoryType">A <see cref="Type"/> that implements <see cref="ILoggerRepository"/>
 /// and has a no arg constructor. An instance of this type will be created to act
 /// as the <see cref="ILoggerRepository"/> for the repository specified.</param>
 /// <returns>The <see cref="ILoggerRepository"/> created for the repository.</returns>
 public static ILoggerRepository CreateRepository(Assembly repositoryAssembly, Type repositoryType)
 {
     return(LoggerManager.CreateRepository(repositoryAssembly, repositoryType));
 }
Esempio n. 30
0
 /// <summary>
 /// Creates a repository with the specified name.
 /// </summary>
 /// <remarks>
 /// <para>
 /// Creates the default type of <see cref="ILoggerRepository"/> which is a
 /// <see cref="log4net.Repository.Hierarchy.Hierarchy"/> object.
 /// </para>
 /// <para>
 /// The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
 /// An <see cref="Exception"/> will be thrown if the repository already exists.
 /// </para>
 /// </remarks>
 /// <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
 /// <returns>The <see cref="ILoggerRepository"/> created for the repository.</returns>
 /// <exception cref="LogException">The specified repository already exists.</exception>
 public static ILoggerRepository CreateRepository(string repository)
 {
     return(LoggerManager.CreateRepository(repository));
 }