public void SetLogLevel(LogLevel lv) { if (logLevel == lv) { return; } logLevel = lv; switch (lv) { case LogLevel.Debug: repo.Root.Level = Level.Debug; break; case LogLevel.Info: repo.Root.Level = Level.Info; break; case LogLevel.Warn: repo.Root.Level = Level.Warn; break; case LogLevel.Error: repo.Root.Level = Level.Error; break; case LogLevel.Fatal: repo.Root.Level = Level.Fatal; break; default: // OOPS break; } repo.RaiseConfigurationChanged(EventArgs.Empty); }
public void SetLogLevel(string logLevel) { log4net.Repository.Hierarchy.Hierarchy hierachy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); hierachy.Threshold = GetLevel(logLevel); hierachy.RaiseConfigurationChanged(EventArgs.Empty); //log4net.Config.BasicConfigurator.Configure(); }
static public void SetLoggingLevel(LogLevel level) { log4net.Core.Level[] levels = { log4net.Core.Level.Debug, log4net.Core.Level.Info, log4net.Core.Level.Error }; log4net.Repository.Hierarchy.Hierarchy hier = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(Assembly.GetExecutingAssembly()); hier.Root.Level = levels[(int)level]; hier.RaiseConfigurationChanged(EventArgs.Empty); foreach (log4net.Core.ILogger logger in hier.GetCurrentLoggers()) { ((log4net.Repository.Hierarchy.Logger)logger).Level = levels[(int)level]; } }
/// <summary> /// Set the log level as specified and signal that a change has occurred. /// </summary> /// <param name="level">log4net.Core.Level; Level Enum</param> private static int setLevel(log4net.Core.Level logLevel) { log4net.Repository.Hierarchy.Hierarchy repository = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(Assembly.GetEntryAssembly())); if (repository == null) { return(-1); } repository.Root.Level = logLevel; repository.Configured = true; repository.RaiseConfigurationChanged(EventArgs.Empty); return(lookupIntFromLogLevel(repository.Root.Level)); }
public static void SetProperty(String propertyName, Object value) { if (string.IsNullOrEmpty(propertyName) || value == null) { return; } if (string.Equals(propertyName, Constants.Configuration.USER_NAME_PROPERTY)) { value = "." + value.ToString().Replace(" ", "-").ToLowerInvariant(); } log4net.GlobalContext.Properties[propertyName] = value; ILoggerRepository repository = LogManager.GetRepository(); log4net.Repository.Hierarchy.Hierarchy hierarchy = repository as log4net.Repository.Hierarchy.Hierarchy; hierarchy.RaiseConfigurationChanged(EventArgs.Empty); }
public void SetLogFilePath(string LogFilePath) { log4net.Repository.Hierarchy.Hierarchy hierachy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender appender in hierachy.GetAppenders()) { if (appender is RollingFileAppender) { string filePath = Path.Combine(LogFilePath == null || LogFilePath == string.Empty ? Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "PopMedNet", "PMN", "logs") : LogFilePath, "DataMartClient.txt"); if (filePath.ToLower() != ((RollingFileAppender)appender).File.ToLower()) { ((RollingFileAppender)appender).File = filePath; ((RollingFileAppender)appender).ActivateOptions(); hierachy.Configured = true; hierachy.RaiseConfigurationChanged(EventArgs.Empty); } } } }
/// <summary> /// Configure log4net object /// </summary> private static void ConfigLog4Net() { // set log filename string logfilename = Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); logfilename += System.IO.Path.DirectorySeparatorChar; logfilename += System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".log"; LogFilePath = logfilename; // attach to repository hierarchy log4net.Repository.Hierarchy.Hierarchy repository = LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy; // check for logging into file if (LogToFile) { // add log file appender log4net.Appender.RollingFileAppender fileappender = new log4net.Appender.RollingFileAppender(); fileappender.Layout = new log4net.Layout.PatternLayout("%-5level %date{yyyy-MM-dd HH:mm:ss,fff} [%thread] %message (%file:%line)%newline"); fileappender.File = logfilename; fileappender.MaxSizeRollBackups = 10; fileappender.MaximumFileSize = "10MB"; fileappender.AppendToFile = true; fileappender.ActivateOptions(); repository.Root.AddAppender(fileappender); } // check for logging into console if (LogToConsole) { // add console appender log4net.Appender.ConsoleAppender consoleappender = new log4net.Appender.ConsoleAppender(); consoleappender.Layout = new log4net.Layout.PatternLayout("%-5level %date{HH:mm:ss} %message%newline"); consoleappender.ActivateOptions(); repository.Root.AddAppender(consoleappender); } // set to log all events repository.Root.Level = log4net.Core.Level.All; repository.Configured = true; repository.RaiseConfigurationChanged(EventArgs.Empty); }
public static void SeparateOut(Type type) { if (type == null || separatedLoggers.ContainsKey(type)) { return; } ILoggerRepository repository = LogManager.GetRepository(); if (repository == null) { return; } IEnumerable <AppenderSkeleton> appenders = repository.GetAppenders().OfType <AppenderSkeleton>(); if (appenders == null) { return; } ILog iLog = LogManager.GetLogger(type); separatedLoggers.Add(type, iLog); log4net.Filter.LoggerMatchFilter filter = new log4net.Filter.LoggerMatchFilter(), defaultLoggerFilter = new log4net.Filter.LoggerMatchFilter(); filter.LoggerToMatch = iLog.Logger.Name; defaultLoggerFilter.AcceptOnMatch = filter.AcceptOnMatch = true; defaultLoggerFilter.LoggerToMatch = logger.Logger.Name; foreach (AppenderSkeleton appender in appenders) { List <log4net.Filter.IFilter> filters = new List <log4net.Filter.IFilter>(); log4net.Filter.IFilter current = appender.FilterHead; if (current != null) { filters.Add(current); while ((current = current.Next) != null) { filters.Add(current); } } appender.ClearFilters(); appender.AddFilter(defaultLoggerFilter); foreach (log4net.Filter.IFilter f in filters) { appender.AddFilter(f); } } RollingFileAppender separateAppender = new RollingFileAppender(); separateAppender.File = Path.Combine( GlobalContext.Properties[Constants.Configuration.Logging.PATH_PROPERTY_NAME].ToNullSafeString(), type.FullName.Replace("+", "_") + ".log"); separateAppender.AppendToFile = true; separateAppender.SecurityContext = log4net.Core.SecurityContextProvider.DefaultProvider.CreateSecurityContext(separateAppender); separateAppender.RollingStyle = RollingFileAppender.RollingMode.Size; separateAppender.DatePattern = ".yyyyMMdd"; separateAppender.CountDirection = 1; separateAppender.MaxSizeRollBackups = 7; separateAppender.MaximumFileSize = "4MB"; separateAppender.AddFilter(filter); log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout(); layout.Header = "Date|Host|Environment|Thread|Level|Message\r\n"; layout.ConversionPattern = "%date|%property{log4net:HostName}|%2thread|%-5level|%message%newline"; separateAppender.Layout = layout; log4net.Repository.Hierarchy.Hierarchy hierarchy = repository as log4net.Repository.Hierarchy.Hierarchy; hierarchy.Root.AddAppender(separateAppender); hierarchy.RaiseConfigurationChanged(EventArgs.Empty); }