/// <summary> /// 使用文本记录异常日志 /// </summary> /// <Author>Ryanding</Author> /// <date>2011-05-01</date> public static void LoadFileAppender() { string currentPath = AppDomain.CurrentDomain.BaseDirectory; string txtLogPath = string.Empty; string iisBinPath = AppDomain.CurrentDomain.RelativeSearchPath; if (!string.IsNullOrEmpty(iisBinPath)) { txtLogPath = CreateDirectory(iisBinPath);// Path.Combine(iisBinPath, "ErrorLog.txt"); } else { txtLogPath = CreateDirectory(currentPath);// Path.Combine(currentPath, "ErrorLog.txt"); } log4net.Repository.Hierarchy.Hierarchy hier = log4net.LogManager.GetLoggerRepository() as log4net.Repository.Hierarchy.Hierarchy; FileAppender fileAppender = new FileAppender(); fileAppender.Name = "LogFileAppender"; fileAppender.File = txtLogPath; fileAppender.AppendToFile = true; PatternLayout patternLayout = new PatternLayout(); patternLayout.ConversionPattern = "记录时间:%date LOG描述:%message%newline"; patternLayout.ActivateOptions(); fileAppender.Layout = patternLayout; //选择UTF8编码,确保中文不乱码。 fileAppender.Encoding = Encoding.UTF8; fileAppender.ActivateOptions(); BasicConfigurator.Configure(fileAppender); }
public static bool ChangeLogFileLocation1(string NewFileName) { XmlConfigurator.Configure(); log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; // Programmatically set this to the desired location here string logFileLocation = NewFileName; // Uncomment the lines below if you want to retain the base file name // and change the folder name... //FileInfo fileInfo = new FileInfo(fa.File); //logFileLocation = string.Format(@"C:\MySpecialFolder\{0}", fileInfo.Name); fa.File = logFileLocation; fa.ActivateOptions(); break; } } return(true); }
public static string GetLogLocation() { string LogFileName = HttpContext.Current.Server.MapPath("~/log4net.config"); //XmlConfigurator.Configure(); FileInfo mFileInfo = new FileInfo(LogFileName); XmlConfigurator.ConfigureAndWatch(mFileInfo); log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); string LogLocationPath = ""; foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; string sNowDate = DateTime.Now.ToLongDateString(); // Programmatically set this to the desired location here string FileLocationinWebConfig = fa.File; LogLocationPath = FileLocationinWebConfig; break; } } return(LogLocationPath); }
public virtual void InitializeLogger() { DateTime _DateTime = DateTime.Now; string _LoggerFolderPath = String.Format(@"{0}\{1:D4}\{2:D2}\{3:D2}\", LogDefaultPath, _DateTime.Year, _DateTime.Month, _DateTime.Day); log4net.Repository.Hierarchy.Hierarchy _Hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); _Hierarchy.Configured = true; log4net.Appender.RollingFileAppender _RollingAppender = new log4net.Appender.RollingFileAppender(); _RollingAppender.File = LogDefaultPath + @"\"; _RollingAppender.AppendToFile = true; _RollingAppender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date; _RollingAppender.LockingModel = new log4net.Appender.FileAppender.MinimalLock(); _RollingAppender.StaticLogFileName = false; _RollingAppender.DatePattern = "yyyy\\\\MM\\\\dd\\\\\"LogFile_\"yyyyMMdd\".log\""; // 날짜가 지나간 경우 이전 로그에 붙을 이름 구성 log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout("%d{yyyy/MM/dd-HH:mm:ss:ffff} [%-5level] : %message%newline"); _RollingAppender.Layout = layout; _RollingAppender.ActivateOptions(); _Hierarchy.Root.RemoveAllAppenders(); _Hierarchy.Root.AddAppender(_RollingAppender); _Hierarchy.Root.Level = log4net.Core.Level.All; LogFolderPath = LogDefaultPath; }
/// <summary> /// For engine use only! Not thread safe /// </summary> /// <param name="prefix"></param> public void SetLogFilePrefix(string prefix) { Info(typeof(Logger).Name, "SetLogFilePrefix", "Changing log file -> Adding prefix: '" + prefix + "'"); try { log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; FileInfo fileInfo = new FileInfo(fa.File); var logFileName = string.Format("{0}-{1}", prefix, fileInfo.Name); fa.File = Path.Combine(fileInfo.DirectoryName, logFileName); fa.ActivateOptions(); break; } else if (a is SmtpAppender) { SmtpAppender sa = (SmtpAppender)a; sa.Subject = sa.Subject + " " + prefix; sa.ActivateOptions(); } } } catch (Exception ex) { Error(typeof(Logger).Name, "SetLogFilePrefix", ex, "Prefix not set - log entries are probably in the base log file"); } }
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(); }
} //eof method /// <summary> /// Activates debug level /// </summary> /// <sourceurl>http://geekswithblogs.net/rakker/archive/2007/08/22/114900.aspx</sourceurl> private void SetLogingLevel(string strLogLevel) { this.ConfigureLogging(); string strChecker = "WARN_INFO_DEBUG_ERROR_FATAL"; if (String.IsNullOrEmpty(strLogLevel) == true || strChecker.Contains(strLogLevel) == false) { throw new ArgumentOutOfRangeException(" The strLogLevel should be set to WARN , INFO , DEBUG ,"); } log4net.Repository.ILoggerRepository[] repositories = log4net.LogManager.GetAllRepositories(); //Configure all loggers to be at the debug level. foreach (log4net.Repository.ILoggerRepository repository in repositories) { repository.Threshold = repository.LevelMap[strLogLevel]; log4net.Repository.Hierarchy.Hierarchy hier = (log4net.Repository.Hierarchy.Hierarchy)repository; log4net.Core.ILogger[] loggers = hier.GetCurrentLoggers(); foreach (log4net.Core.ILogger logger in loggers) { ((log4net.Repository.Hierarchy.Logger)logger).Level = hier.LevelMap[strLogLevel]; } } //Configure the root logger. log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); log4net.Repository.Hierarchy.Logger rootLogger = h.Root; rootLogger.Level = h.LevelMap[strLogLevel]; }
/// <summary> /// http://forums.asp.net/t/1969159.aspx?How+to+change+log+level+for+log4net+from+code+behind+during+the+application+up+and+running+ /// </summary> /// <param name="logLevel"></param> private void SetLogLevelTo(string logLevel) { try { log4net.Repository.ILoggerRepository[] repositories = log4net.LogManager.GetAllRepositories(); //Configure all loggers to be at the debug level. foreach (log4net.Repository.ILoggerRepository repository in repositories) { repository.Threshold = repository.LevelMap[logLevel]; log4net.Repository.Hierarchy.Hierarchy hier = (log4net.Repository.Hierarchy.Hierarchy)repository; log4net.Core.ILogger[] loggers = hier.GetCurrentLoggers(); foreach (log4net.Core.ILogger logger in loggers) { ((log4net.Repository.Hierarchy.Logger)logger).Level = hier.LevelMap[logLevel]; } } //Configure the root logger. log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); log4net.Repository.Hierarchy.Logger rootLogger = h.Root; rootLogger.Level = h.LevelMap[logLevel]; } catch (Exception ex) { Console.Error.WriteLine("ERROR CHANGING LOG LEVEL {0}", ex.Message); } }
private static void ChangeFileLog(string _Project) { try { XmlConfigurator.Configure(); log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; string sNowDate = DateTime.Now.ToString("yyyyMMdd"); // Programmatically set this to the desired location here string FileLocationinWebConfig = fa.File; string logFileLocation = FileLocationinWebConfig + @"\" + sNowDate + @"\" + _Project + ".txt"; if (System.IO.Directory.Exists(FileLocationinWebConfig + @"\" + sNowDate + @"\")) { System.IO.Directory.CreateDirectory(FileLocationinWebConfig + @"\" + sNowDate + @"\"); } fa.File = logFileLocation; fa.ActivateOptions(); break; } } } catch { } }
private void FrmLog_Load(object sender, EventArgs e) { log4net.Repository.Hierarchy.Hierarchy hierarchy = LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy; if (hierarchy != null) { hierarchy.Root.AddAppender(new RichEditAppender(this.richTextBox_Log, 1000, 50, 5)); } }
/// <summary> /// 获取日志设置 /// </summary> public static ILog GetCustomLogger(string loggerName, string loggerSource, string category, bool additivity = false) { return(loggerContainer.GetOrAdd(loggerName + (category ?? "") + loggerSource, delegate(string name) { RollingFileAppender newAppender = null; TWReadParameterAppender appender = null; if (appenderContainer.ContainsKey(loggerName)) { appender = appenderContainer[loggerName]; // 判断日志路径 string filePath = appender.File; if (filePath != null && filePath.EndsWith("\\")) { if (string.IsNullOrEmpty(category)) { filePath = string.Format(@"{0}\{1}\{2}\{3}\{4}\{5}.txt", filePath, loggerName, loggerSource, DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day.ToString().PadLeft(2, '0')); } else { filePath = string.Format(@"{0}\{1}\{2}\{3}\{4}\{5}\{6}.txt", filePath, loggerName, category, loggerSource, DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day.ToString().PadLeft(2, '0')); } } newAppender = GetNewFileApender(loggerName, filePath, appender.MaxSizeRollBackups, appender.AppendToFile, true, appender.MaximumFileSize, RollingFileAppender.RollingMode.Composite, appender.DatePattern, appender.LayoutPattern); } else { newAppender = GetNewFileApender(loggerName, GetFile(category, loggerName), MAX_SIZE_ROLL_BACKUPS, true, true, MAXIMUM_FILE_SIZE, RollingFileAppender.RollingMode.Composite, DATE_PATTERN, LAYOUT_PATTERN); } log4net.Repository.Hierarchy.Hierarchy repository = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); log4net.Repository.Hierarchy.Logger logger = repository.LoggerFactory.CreateLogger(repository, loggerName); logger.Hierarchy = repository; logger.Parent = repository.Root; logger.Level = GetLoggerLevel(appender == null ? LEVEL : appender.Level); logger.Additivity = additivity; logger.AddAppender(newAppender); logger.Repository.Configured = true; return new LogImpl(logger); })); }
/// <summary> /// This method creates the loggers /// </summary> /// <param name="fileAppender"></param> /// <param name="loggerName"></param> private void CreateLogger(log4net.Appender.FileAppender fileAppender, string loggerName) { log4net.Repository.Hierarchy.Hierarchy hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); log4net.Repository.Hierarchy.Logger logger = (log4net.Repository.Hierarchy.Logger)hierarchy.GetLogger(loggerName); if (logger.GetAppender(fileAppender.Name) == null) { logger.AddAppender(fileAppender); } hierarchy.Configured = true; }
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]; } }
public ActionResult Diagnostics() { var smtp = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp"); var model = new DiagnosticsDTO { ServerName = DataContext.Database.Connection.Database, Theme = WebConfigurationManager.AppSettings["CurrentTheme"], SSOURL = WebConfigurationManager.AppSettings["SsoUrl"], ServiceUrl = WebConfigurationManager.AppSettings["ServiceUrl"], ResourcesURL = WebConfigurationManager.AppSettings["ResourceUrl"], MailSettings = new MailSettingsDTO { DeliveryMethod = smtp.DeliveryMethod.ToString(), FromAddress = smtp.From.ToString(), Server = smtp.Network.Host }, }; log4net.Repository.Hierarchy.Hierarchy hierachy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender appender in hierachy.GetAppenders()) { if (appender is RollingFileAppender) { model.Log4Net = new Log4NetConfig { FileLocation = ((RollingFileAppender)appender).File, LogPattern = ((RollingFileAppender)appender).DatePattern, FileMaxSize = ((RollingFileAppender)appender).MaximumFileSize, MaxFilesToKeep = ((RollingFileAppender)appender).MaxSizeRollBackups.ToString() }; } } AppDomain currentDomain = AppDomain.CurrentDomain; Assembly[] assems = currentDomain.GetAssemblies(); IList <AssemblyDTO> assemList = new List <AssemblyDTO>(); foreach (var ass in assems) { assemList.Add(new AssemblyDTO { AssemblyName = ass.GetName().Name, AssemblyVersion = ass.GetName().Version.ToString() }); } model.Assemblies = assemList; return(View(model)); }
public static void RemoveAppender(string name) { foreach (var appender in LogManager.GetRepository().GetAppenders()) { if (appender.Name.Equals(name)) { log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); h.Root.RemoveAppender(appender); return; } } }
/// <summary> /// Turns on all logging for the system. /// </summary> private void TurnOnLogging() { log4net.Repository.ILoggerRepository[] repositories = log4net.LogManager.GetAllRepositories(); IList <IAppender> toRemove; // Configure all loggers to be at the debug level. foreach (log4net.Repository.ILoggerRepository repository in repositories) { repository.Threshold = repository.LevelMap["DEBUG"]; log4net.Repository.Hierarchy.Hierarchy hier = (log4net.Repository.Hierarchy.Hierarchy)repository; log4net.Core.ILogger[] loggers = hier.GetCurrentLoggers(); foreach (log4net.Core.ILogger logger in loggers) { log4net.Repository.Hierarchy.Logger log = (log4net.Repository.Hierarchy.Logger)logger; log.Level = hier.LevelMap["DEBUG"]; log.AddAppender(new NullAppender()); toRemove = new List <IAppender>(); foreach (var appender in log.Appenders) { if (appender.GetType() != typeof(NullAppender)) { toRemove.Add(appender); } } foreach (IAppender appender in toRemove) { log.RemoveAppender(appender); } } } // Configure the root logger. log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); log4net.Repository.Hierarchy.Logger rootLogger = h.Root; rootLogger.Level = h.LevelMap["DEBUG"]; rootLogger.AddAppender(new NullAppender()); toRemove = new List <IAppender>(); foreach (var appender in rootLogger.Appenders) { if (appender.GetType() != typeof(NullAppender)) { toRemove.Add(appender); } } foreach (IAppender appender in toRemove) { rootLogger.RemoveAppender(appender); } }
public static int GetLogLevel() { log4net.Repository.Hierarchy.Hierarchy repository = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(Assembly.GetEntryAssembly())); if (repository == null) { return(-1); } return(lookupIntFromLogLevel(repository.Root.Level)); }
public static void SetLogLevel(log4net.Core.Level logLevel, bool force) { log4net.Repository.ILoggerRepository[] repositories = log4net.LogManager.GetAllRepositories(); foreach (log4net.Repository.ILoggerRepository repository in repositories) { log4net.Repository.Hierarchy.Hierarchy hierarchy = repository as log4net.Repository.Hierarchy.Hierarchy; if (hierarchy.Root.Level > logLevel || force) { hierarchy.Root.Level = logLevel; } } }
/// <summary> /// Sets the root of the log4net hierarchy to the level specified /// </summary> /// <param name="level">the level to which to set the root</param> private static void SetRootLevel(log4net.Core.Level level) { if (level == null) { return; } log4net.Repository.Hierarchy.Hierarchy hierarchy = log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy; if (null != hierarchy) { lock (hierarchy) { hierarchy.Root.Level = level; } } }
public void SubmitOK() { //For root log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); log4net.Repository.Hierarchy.Logger rootLogger = h.Root; rootLogger.Level = h.LevelMap[SelectedRootLogLevel.Level.ToString()]; //For custom logger log4net.Repository.ILoggerRepository log4repo = log4net.LogManager.GetRepository(); log4net.Repository.Hierarchy.Hierarchy log4hier = (log4net.Repository.Hierarchy.Hierarchy)log4repo; log4net.Core.ILogger logger4 = log4hier.GetCurrentLoggers().First(x => x.Name == "Logger4"); ((log4net.Repository.Hierarchy.Logger)logger4).Level = log4hier.LevelMap[SelectedLog4LogLevel.Level.ToString()]; }
static void SetLogFileName(string newName) { log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; fa.File = newName; fa.ActivateOptions(); break; } } }
private void SetLoggingPath(string filePath) { log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; fa.File = filePath; fa.ActivateOptions(); break; } } }
public static void ConfigureLogFile(string logFileLocation) { XmlConfigurator.Configure(); log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender a in h.Root.Appenders) { if (a is FileAppender) { FileAppender fa = (FileAppender)a; fa.File = logFileLocation; fa.ActivateOptions(); break; } } }
static Logger() { // // TODO: Add constructor logic here // Trace.WriteLine("Logger contructor"); connstring = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString; if (connstring.Length == 0) { Trace.WriteLine("Errore impostazione connection string DB LOG", LoggerName); return; } log4net.Config.XmlConfigurator.Configure(); log4net.Repository.Hierarchy.Hierarchy hier = log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy; if (hier != null) { //get ADONetAppender log4net.Appender.AdoNetAppender adoAppender = (log4net.Appender.AdoNetAppender)hier.GetLogger(LoggerName, hier.LoggerFactory).GetAppender("AdoNetAppender"); if (adoAppender != null) { adoAppender.ConnectionString = connstring; adoAppender.ActivateOptions(); //refresh settings of appender } } log_level = ConfigurationManager.AppSettings["log_level"] + ""; try { DefaultLogLevel = (EventLogEntryType)Enum.Parse(typeof(EventLogEntryType), log_level, true); } catch (Exception ex) { Trace.WriteLine(ex.ToString(), LoggerName); } cs = (ConfigurationManager.AppSettings["log_cat"] + string.Empty); }
/// <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)); }
/// <summary> /// Loads all the assemblies found in the specified adapter package. /// </summary> /// <param name="packageIdentifierAndVersion">The request type package identifier + request adapter version.</param> /// <returns></returns> bool Load(string packageIdentifierAndVersion) { _appDomainName = packageIdentifierAndVersion; _packagePath = Path.Combine(RootFolder, packageIdentifierAndVersion + ".zip"); log.Debug("Begin loading of " + _packagePath); if (!File.Exists(_packagePath)) { throw new FileNotFoundException("The file: " + packageIdentifierAndVersion + ".zip was not found in " + RootFolder + "."); } log.Debug("Creating plugin appdomain named: " + _appDomainName); //create the appdomain, base directory should be set to the packages base directory which should have the assembly containing the proxy in it AppDomainSetup setupInfo = new AppDomainSetup(); setupInfo.ApplicationBase = RootFolder; setupInfo.ApplicationName = _appDomainName; setupInfo.ConfigurationFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; _appDomain = AppDomain.CreateDomain(packageIdentifierAndVersion, AppDomain.CurrentDomain.Evidence, setupInfo); log.Debug("Finished creating AppDomain: " + packageIdentifierAndVersion); try { log4net.Repository.Hierarchy.Hierarchy hierachy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); log.Debug("Creating domain proxy for AppDomain: " + _appDomainName); //create the domain proxy Type proxyType = typeof(AssemblyLoadProxy); _loadProxy = (AssemblyLoadProxy)_appDomain.CreateInstanceFrom(proxyType.Assembly.Location, proxyType.FullName).Unwrap(); _loadProxySponsor = new LifetimeSponsor(_loadProxy); //load the domain proxy with the assemblies for the package log.Debug("Loading the package: " + _packagePath + " into the AppDomain: " + _appDomainName); _loadProxy.LoadPackage(_packagePath); log.Debug("Initializing cross-domain logging for AppDomain: " + _appDomainName); _loadProxy.InitializeLogging(new Logging.CrossDomainParentAppender(), hierachy.Threshold); } catch (Exception ex) { log.Error("An error occurred initializing the domain proxy for AppDomain: " + _appDomainName, ex); return(false); } return(true); }
public static void AddAppenderToAllLoggersEvent(EventHandler <log4net.Core.LoggingEvent> onlogmessage) { foreach (var appender in LogManager.GetRepository().GetAppenders()) { if (appender.Name.Equals("MemoryAppender")) { return; } } var app = new MemoryAppenderWithEvents(); app.UpdatedEvent += onlogmessage; log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); h.Root.AddAppender(app); }
private void SetFileName() { XmlConfigurator.Configure(); log4net.Repository.Hierarchy.Hierarchy _hierarchy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); foreach (IAppender _appender in _hierarchy.Root.Appenders) { if (_appender is FileAppender) { FileAppender _fileAppender = (FileAppender)_appender; string _logFileLocation = System.Reflection.Assembly.GetExecutingAssembly().CodeBase; _logFileLocation = System.IO.Path.GetDirectoryName(_logFileLocation); _fileAppender.File = _fileAppender.File + "Logger.log"; _fileAppender.ActivateOptions(); //for additional options break; } } }
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); } } } }
private void SetupRepository() { m_hierarchy = new Repository.Hierarchy.Hierarchy(); m_countingAppender = new CountingAppender(); m_countingAppender.ActivateOptions(); m_bufferingForwardingAppender = new BufferingForwardingAppender(); m_bufferingForwardingAppender.AddAppender(m_countingAppender); m_bufferingForwardingAppender.BufferSize = 0; m_bufferingForwardingAppender.ClearFilters(); m_bufferingForwardingAppender.Evaluator = null; m_bufferingForwardingAppender.Fix = FixFlags.Partial; m_bufferingForwardingAppender.Lossy = false; m_bufferingForwardingAppender.LossyEvaluator = null; m_bufferingForwardingAppender.Threshold = Level.All; m_bufferingForwardingAppender.ActivateOptions(); log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender); }