コード例 #1
0
        protected override void ReadExtraConfigSettings()
        {
            base.ReadExtraConfigSettings();

            IConfig startupConfig = m_config.Source.Configs["Startup"];

            if (startupConfig != null)
            {
                m_startupCommandsFile  = startupConfig.GetString("startup_console_commands_file", "startup_commands.txt");
                m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", "shutdown_commands.txt");

                m_gui = startupConfig.GetBoolean("gui", false);

                m_timedScript = startupConfig.GetString("timer_Script", "disabled");

                if (m_logFileAppender != null)
                {
                    if (m_logFileAppender is log4net.Appender.FileAppender)
                    {
                        log4net.Appender.FileAppender appender = (log4net.Appender.FileAppender)m_logFileAppender;
                        string fileName = startupConfig.GetString("LogFile", String.Empty);

                        if (fileName != String.Empty)
                        {
                            appender.File = fileName;
                        }

                        m_log.InfoFormat("[Logging]: Logging started to file {0}", appender.File);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Global.asax.cs プロジェクト: GMcD/spider-web
        /// <summary>
        /// Simple Application Start Event Handler which just initializes the application
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Application_Start(object sender, EventArgs e)
        {
            String logConf = Path.Combine(Server.MapPath("/"), "log4net.xml");
            log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(logConf));
            String logFile = Path.Combine(Server.MapPath("/"), "people.log");

            log4net.Appender.FileAppender fa = new log4net.Appender.FileAppender();
            fa.Name = "FileAppender";
            fa.File = logFile;
            fa.Layout = new log4net.Layout.PatternLayout(pattern);
            fa.Threshold = log4net.Core.Level.Debug;
            fa.AppendToFile = true;
            fa.ActivateOptions();

            log4net.Repository.Hierarchy.Hierarchy hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
            hierarchy.Root.AddAppender(fa);
            m_log.Info("Copyright Gary MacDonald 2012.");

            ServicePointManager.ServerCertificateValidationCallback +=
                delegate(object requestSender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
                {
                    m_log.Info("Certificate Validation Callback!");
                    // **** Always accept for now XXX
                    return true;
                };
            var appHost = new HelloAppHost();
            appHost.Init();
        }
コード例 #3
0
ファイル: Logging.cs プロジェクト: LHCGreg/DFOCP
        private static void SetUpFileLogger()
        {
            string filePattern = "%date %-15.15thread %-5level: %message%newline";

            log4net.Layout.ILayout       layout;
            log4net.Layout.PatternLayout normalTextLayout = new log4net.Layout.PatternLayout(filePattern);
            normalTextLayout.ActivateOptions();
            layout = normalTextLayout;

            log4net.Appender.FileAppender fileAppender = new log4net.Appender.FileAppender();
            fileAppender.AppendToFile   = false;
            fileAppender.Encoding       = Encoding.UTF8;
            fileAppender.File           = Paths.LogPath;
            fileAppender.ImmediateFlush = true;
            fileAppender.Layout         = layout;
            fileAppender.LockingModel   = new log4net.Appender.FileAppender.ExclusiveLock();
            fileAppender.Name           = "File appender";
            fileAppender.Threshold      = log4net.Core.Level.Debug;

            fileAppender.ActivateOptions();

            // A slight bit of hackery in order to programatically set more than one appender (which isn't supported by BasicConfigurator)
            log4net.Repository.Hierarchy.Logger root = ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository()).Root;
            root.AddAppender(fileAppender);
            root.Repository.Configured = true;
        }
コード例 #4
0
        public static void InitLog(string completeLogFile, bool externalConsole)
        {
            _filePath = completeLogFile;

            var hierarchy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();

            hierarchy.Root.RemoveAllAppenders();

            var pl = new log4net.Layout.PatternLayout {
                ConversionPattern = DefaultConversionPatern
            };

            pl.ActivateOptions();
            var fileAppender = new log4net.Appender.FileAppender
            {
                AppendToFile = true,
                LockingModel = new log4net.Appender.FileAppender.MinimalLock(),
                File         = _filePath,
                Layout       = pl
            };

            fileAppender.ActivateOptions();

            log4net.Config.BasicConfigurator.Configure(fileAppender);

            _logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

            if (externalConsole)
            {
                AddLogToConsole(false);
            }
        }
コード例 #5
0
        /// <summary>
        /// Static Constructor
        /// This constructor will initialize the log file correctly based
        /// on what is setup in the Log4Net.conf file and the SimiasLogDir
        /// environment variable.
        /// </summary>
        static iFolderWebLogger()
        {
            string logDir = Environment.GetEnvironmentVariable("SimiasLogDir");

            if (logDir != null)
            {
                foreach (log4net.Appender.IAppender iApp in
                         log4net.LogManager.GetRepository().GetAppenders())
                {
                    if (iApp is log4net.Appender.FileAppender)
                    {
                        log4net.Appender.FileAppender fApp =
                            (log4net.Appender.FileAppender)iApp;

                        string fileName = System.IO.Path.GetFileName(fApp.File);
                        if (fileName == null)
                        {
                            fileName = "adminweb.log";
                        }

                        fApp.File = System.IO.Path.Combine(logDir, fileName);
                        fApp.ActivateOptions();
                    }
                }
            }
        }
コード例 #6
0
        /// <summary>
        /// Sets up logging from a configuration file or chooses some sane defaults.
        /// </summary>
        public static void SetupLogging()
        {
            var confFile = new FileInfo(Path.Combine(ProgramDirectory, "Logging.conf"));

            if (confFile.Exists)
            {
                log4net.Config.XmlConfigurator.Configure(confFile);
            }
            else
            {
                var rootLogger = ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository()).Root;
                rootLogger.Level = log4net.Core.Level.Debug;
                log4net.LogManager.GetRepository().Configured = true;

                // log to a file
                var fileLogAppender = new log4net.Appender.FileAppender
                {
                    Layout       = new log4net.Layout.PatternLayout("%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"),
                    File         = Path.Combine(ProgramDirectory, "Log.txt"),
                    AppendToFile = true
                };
                fileLogAppender.ActivateOptions();
                rootLogger.AddAppender(fileLogAppender);
            }
        }
コード例 #7
0
        public static void Debug(string client, string name, object message)
        {
            //该参数有三部分组成:客户端_日记类型_logger配置名称;<file value="logs/%Client/%LogType/" />
            //value如果不需要客户端时可写成<file value="logs/%LogType/" />;这里是需要动态配置的才加上
            //在上面的配置,name传入的就是 Test 最终字符串是:客户端_Debug_Test
            //var log = GetLog(string.Format("{0}_Debug_{1}", client, name));
            //if (log == null)
            //{
            //    return;
            //}

            //ThreadContext.Properties["logFileName"] = string.Format("{0}_Debug_{1}", client, name);
            var log = LogManager.GetLogger(name);


            var h = (log4net.Repository.Hierarchy.Hierarchy)log.Logger.Repository;

            foreach (log4net.Appender.IAppender a in h.GetAppenders())
            {
                if (a.Name == "LogFileAppender")
                {
                    log4net.Appender.FileAppender fa = (log4net.Appender.FileAppender)a;

                    fa.File = string.Format(@"D:\{0}\", @"DEBUG");
                    fa.ActivateOptions();
                }
            }



            log.Debug(message);
        }
コード例 #8
0
ファイル: UtilLog.cs プロジェクト: jimidzj/Inspect
        public UtilLog(string _logFileName, Log_LoggingLevel _systemLoggingLevel)
        {
            fileAppender = CreateAppender(_logFileName, _systemLoggingLevel.ToString());
            CreateLogger(fileAppender, _logFileName);

            log = LogManager.GetLogger(_logFileName);

            SystemLoggingLevel = _systemLoggingLevel;
        }
コード例 #9
0
ファイル: UtilLog.cs プロジェクト: zxlnet/hrms
        public UtilLog(string _logFileName, Log_LoggingLevel _systemLoggingLevel)
        {
            fileAppender = CreateAppender(AppDomain.CurrentDomain.BaseDirectory + @"\" + _logFileName, _systemLoggingLevel.ToString());
            CreateLogger(fileAppender, _logFileName);

            log = LogManager.GetLogger(_logFileName);

            SystemLoggingLevel = _systemLoggingLevel;
        }
コード例 #10
0
ファイル: UtilLog.cs プロジェクト: zxlnet/hrms
        /// <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;
        }
コード例 #11
0
        /// <summary>
        /// 古いログファイルを削除します。
        /// </summary>
        /// <returns></returns>
        public static bool log_file_del()
        {
            // 何日前かを設定しています
            double beforeCount   = -90;
            string log_file_path = "";

            try
            {
                // log4netのxmlファイルに指定されているログファイルの出力先を取得
                foreach (log4net.Appender.IAppender appender in logger.Logger.Repository.GetAppenders())
                {
                    log4net.Appender.FileAppender fileAppender = appender as log4net.Appender.FileAppender;
                    if (fileAppender != null)
                    {
                        log_file_path = fileAppender.File.ToString().Substring(0, fileAppender.File.ToString().Length - 19);
                        //System.Console.WriteLine(log_file_path);
                    }
                }

                // ファイル一覧を取得してファイルのタイムスタンプと比較を行い削除する方向で。。。
                //System.Console.WriteLine(System.DateTime.Now.AddDays(beforeCount).ToString("yyyyMMdd"));

                //log_file_path以下のファイルをすべて取得する
                System.IO.DirectoryInfo          di    = new System.IO.DirectoryInfo(log_file_path);
                IEnumerable <System.IO.FileInfo> files = di.EnumerateFiles("*", System.IO.SearchOption.AllDirectories);

                //ファイルを列挙する
                foreach (System.IO.FileInfo f in files)
                {
                    //System.Console.WriteLine(f.FullName);
                    //Console.WriteLine(System.IO.File.GetCreationTime(f.FullName));
                    //Console.WriteLine(System.IO.File.GetCreationTime(f.FullName).CompareTo(System.DateTime.Now.AddDays(beforeCount)));
                    //指定された日付以前に作成されているログを削除します
                    if (System.IO.File.GetCreationTime(f.FullName).CompareTo(System.DateTime.Now.AddDays(beforeCount)) == -1)
                    {
                        System.Console.WriteLine(f.FullName);
                        // 対象を削除
                        System.IO.File.Delete(f.FullName);
                    }
                }

                // System.DateTime.Now.ToString("yyyyMMdd");

                return(true);
            }
            catch (System.Exception ex)
            {
                // ファイルを開くのに失敗したとき
                logger.Error(" ログファイル削除失敗: " + ex.Message);
                return(false);
            }
        }
コード例 #12
0
ファイル: LogUtil.cs プロジェクト: AndriyLega/SentrifugoApp
 /// <summary>
 /// Create the file name and sets the path. default path is bin/debug
 /// </summary>
 /// <param name="appenderName"></param>
 /// <param name="newFilename"></param>
 public static void CreateLogFile(string appenderName, string newFilename)
 {
     log4net.Repository.ILoggerRepository repository = LogManager.GetLoggerRepository();
     foreach (log4net.Appender.IAppender appender in repository.GetAppenders())
     {
         if (appender.Name.CompareTo(appenderName) == 0 && appender is log4net.Appender.FileAppender)
         {
             log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)appender;
             fileAppender.File = System.IO.Path.Combine(fileAppender.File, newFilename);
             fileAppender.ActivateOptions();
         }
     }
 }
コード例 #13
0
        ///////////////////////////////////////////////////////////////////////////////

        #region OTHER REUSABLE METHODS

        public void SetFileAppenderPath(string iFileAppenderName)
        {
            log4net.Repository.ILoggerRepository repository = log4net.LogManager.GetRepository();
            foreach (var thisAppender in repository.GetAppenders())
            {
                if (thisAppender is log4net.Appender.FileAppender && thisAppender.Name.Equals(iFileAppenderName))
                {
                    log4net.Appender.FileAppender fileAppender = thisAppender as log4net.Appender.FileAppender;
                    fileAppender.File = LogPath;
                    fileAppender.ActivateOptions();
                }
            }
        }
コード例 #14
0
ファイル: LogUtils.cs プロジェクト: haibo-chen/Security
        public static ILog CreateFileLogger(String name, String path)
        {
            ///LevelRangeFilter
            log4net.Filter.LevelRangeFilter levfilter = new log4net.Filter.LevelRangeFilter();
            levfilter.LevelMax = log4net.Core.Level.Fatal;
            levfilter.LevelMin = log4net.Core.Level.Error;
            levfilter.ActivateOptions();
            //Appender1
            log4net.Appender.FileAppender appender1 = new log4net.Appender.FileAppender();
            appender1.AppendToFile   = true;
            appender1.File           = path + name + ".log";
            appender1.ImmediateFlush = true;
            appender1.LockingModel   = new log4net.Appender.FileAppender.MinimalLock();
            appender1.Name           = name + "FileAppender";
            appender1.AddFilter(levfilter);

            //Appender2
            //log4net.Appender.ConsoleAppender appender2 = new log4net.Appender.ConsoleAppender();
            //appender2.Name = name + "ConsoleAppender";
            //appender2.AddFilter(levfilter);

            log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout("%date [%thread] %-5level - %message%newline");
            layout.ActivateOptions();

            appender1.Layout = layout;
            appender1.ActivateOptions();
            //appender2.Layout = layout;
            //appender2.ActivateOptions();

            //log4net.Repository.ILoggerRepository repository = null;
            //log4net.Repository.ILoggerRepository[] repositories = log4net.LogManager.GetAllRepositories();
            //if (repositories != null)
            //   repository = repositories.FirstOrDefault(x => x.Name == "DynamicRepository");
            //if (repository == null)
            //    repository = log4net.LogManager.CreateRepository("DynamicRepository");

            log4net.Config.BasicConfigurator.Configure(appender1);
            //log4net.Config.BasicConfigurator.Configure(repository, appender1);
            //log4net.Config.BasicConfigurator.Configure(repository, appender2);

            //((log4net.Repository.Hierarchy.Hierarchy)repository).Root.Level = log4net.Core.Level.Info;
            ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository()).Root.AddAppender(appender1);


            ILog logger = log4net.LogManager.GetLogger(name);

            return(logger);
        }
コード例 #15
0
ファイル: FileLogger.cs プロジェクト: arturcp/boycott
        public FileLogger(string filePath)
        {
            var path = Directory.GetDirectoryRoot(filePath);
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);
            if (!File.Exists(filePath))
                File.Create(filePath);

            var appender = new log4net.Appender.FileAppender();
            appender.Layout = new SimpleLayout();
            appender.File = filePath;
            appender.ActivateOptions();
            BasicConfigurator.Configure(appender);

            logger = LogManager.GetLogger(typeof(FileLogger));
        }
コード例 #16
0
ファイル: Logger.cs プロジェクト: WildGenie/Farmakode2020
        private static void initializeLog()
        {
            string logDirectory = Settings.Default.LogPath;
            string logFileName  = string.Format("{0:yyyyMMdd}_log.txt", DateTime.Now);

            log4net.Repository.ILoggerRepository repository = log4net.LogManager.GetRepository();
            foreach (log4net.Appender.IAppender appender in repository.GetAppenders())
            {
                if (appender.Name.CompareTo("FileAppender") == 0 && appender is log4net.Appender.FileAppender)
                {
                    log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)appender;
                    fileAppender.File = System.IO.Path.Combine(Settings.Default.DestinationFolder, Settings.Default.LogPath, logFileName);
                    fileAppender.ActivateOptions();
                }
            }
        }
コード例 #17
0
 /// <summary>
 /// Releases unmanaged and - optionally - managed resources.
 /// </summary>
 /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
 protected virtual void Dispose(bool disposing)
 {
     if (!this.disposedValue)
     {
         if ((m_Appender != null))
         {
             m_Appender.Close();
             m_Appender = null;
         }
         if (disposing)
         {
             // TODO: free shared unmanaged resources
         }
     }
     this.disposedValue = true;
 }
コード例 #18
0
        public static void SetConfig(string root)
        {
            log4net.Appender.FileAppender fAppender = new log4net.Appender.FileAppender();
            log4net.Layout.PatternLayout  layout    = new log4net.Layout.PatternLayout
            {
                ConversionPattern = "[%date] %thread -- %-5level -- %logger [%M] -- %message%newline"
            };

            layout.ActivateOptions();

            fAppender.File         = System.IO.Path.Combine(root, @"Log\HRUT.log");
            fAppender.Layout       = layout;
            fAppender.AppendToFile = true;
            fAppender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(fAppender);
        }
コード例 #19
0
 private void manageAppender()
 {
     do
     {
         TimeSpan mTimeSpan = DateTime.Now.Subtract(m_AppenderLastUsed);
         if (mTimeSpan.TotalMilliseconds >= 3000)
         {
             if ((m_Appender != null))
             {
                 m_Appender.Close();
                 m_Appender = null;
             }
             //break;
         }
         Thread.Sleep(3000);
     } while (true);
 }
コード例 #20
0
        private static void EnableLogging()
        {
            // DEBUG < INFO < WARN < ERROR < FATAL
            log4net.Appender.ConsoleAppender consoleAppender = FindAppender("ConsoleAppender") as log4net.Appender.ConsoleAppender;
            #if DEBUG
            consoleAppender.Threshold = log4net.Core.Level.All;
            #else
            consoleAppender.Threshold = log4net.Core.Level.Off;
            #endif

            log4net.Appender.FileAppender fileAppender = FindAppender("LogFileAppender") as log4net.Appender.FileAppender;
            #if TRACE
            fileAppender.Threshold = log4net.Core.Level.All;
            #else
            fileAppender.Threshold = log4net.Core.Level.Off;
            #endif
        }
コード例 #21
0
        public static log4net.Appender.IAppender CreateFileAppender(string name, string fileName)
        {
            log4net.Appender.FileAppender appender = new
                                                     log4net.Appender.FileAppender();
            appender.Name         = name;
            appender.File         = fileName;
            appender.AppendToFile = true;

            log4net.Layout.PatternLayout layout = new
                                                  log4net.Layout.PatternLayout();
            //layout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n";
            layout.ActivateOptions();

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

            return(appender);
        }
コード例 #22
0
        protected void ConfigureLogger()
        {
            log4net.Layout.ILayout        layout;
            log4net.Appender.FileAppender appender;

            layout   = new log4net.Layout.PatternLayout("\v%date{ISO8601} %logger %-5level: %message%newline");
            appender = new log4net.Appender.FileAppender();
            appender.AppendToFile    = true;
            appender.Encoding        = Encoding.UTF8;
            appender.File            = this._path;
            appender.ImmediateFlush  = true;
            appender.Layout          = layout;
            appender.LockingModel    = new log4net.Appender.FileAppender.MinimalLock();
            appender.Name            = "FileAppender";
            appender.SecurityContext = new log4net.Util.WindowsSecurityContext();
            appender.Threshold       = log4net.Core.Level.All;
            log4net.Config.BasicConfigurator.Configure(appender);
        }
コード例 #23
0
ファイル: LogManager.cs プロジェクト: Jaofeng/Library
 /// <summary>取得記錄檔的存放目錄</summary>
 /// <returns></returns>
 public static string GetFolder()
 {
     log4net.Appender.IAppender[] ias = _GlobalLogger.Logger.Repository.GetAppenders();
     if (ias == null || ias.Length == 0)
     {
         return(null);
     }
     foreach (log4net.Appender.IAppender ia in ias)
     {
         if (!ia.GetType().Equals(typeof(log4net.Appender.RollingFileAppender)))
         {
             continue;
         }
         log4net.Appender.FileAppender fa = (log4net.Appender.FileAppender)(log4net.Appender.RollingFileAppender) ia;
         return(System.IO.Path.GetDirectoryName(fa.File));
     }
     return(null);
 }
コード例 #24
0
 /// <summary>
 /// Create the file name and sets the path. default path is bin\debug
 /// </summary>
 /// <param name="appenderName"></param>
 /// <param name="newFilename"></param>
 public static void CreateLogFile(string appenderName, string newFilename, bool minLock = false)
 {
     log4net.Repository.ILoggerRepository repository = LogManager.GetRepository("");
     foreach (log4net.Appender.IAppender appender in repository.GetAppenders())
     {
         if (appender.Name.CompareTo(appenderName) == 0 && appender is log4net.Appender.FileAppender)
         {
             log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)appender;
             //It was appending existing path with new log file path
             fileAppender.File = newFilename; // fileAppender.File = System.IO.Path.Combine(fileAppender.File, newFilename);
             if (minLock)                     //Used only by DMT
             {
                 fileAppender.LockingModel = new log4net.Appender.FileAppender.MinimalLock();
             }
             fileAppender.ActivateOptions();
         }
     }
 }
コード例 #25
0
        static void ChangeLogFileName(string appenderName, string newFilename)
        {
            log4net.Repository.ILoggerRepository RootRep;
            RootRep = log4net.LogManager.GetRepository();

            foreach (log4net.Appender.IAppender iApp in RootRep.GetAppenders())
            {
                if (iApp.Name.CompareTo(appenderName) == 0 && iApp is log4net.Appender.FileAppender)
                {
                    log4net.Appender.FileAppender fApp = (log4net.Appender.FileAppender)iApp;

                    fApp.File = newFilename;
                    fApp.ActivateOptions();

                    return; // Appender found and name changed to newFilename
                }
            }
        }
コード例 #26
0
ファイル: App.xaml.cs プロジェクト: amitthk/wpftdm
        // Create a new file appender
        public static log4net.Appender.IAppender CreateFileAppender(string name,
        string fileName)
        {
            log4net.Appender.FileAppender appender = new
              log4net.Appender.FileAppender();
            appender.Name = name;
            appender.File = fileName;
            appender.AppendToFile = true;

            log4net.Layout.PatternLayout layout = new
            log4net.Layout.PatternLayout();
            layout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n";
            layout.ActivateOptions();

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

            return appender;
        }
コード例 #27
0
        /// <summary>
        /// Applies a new path for the log file by FileAppender name
        /// </summary>
        public static void SetLogPath()
        {
            XmlConfigurator.Configure();
            log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
            string logFileName = System.IO.Path.Combine(Properties.Settings.Default.App_PathLocalData, AssemblyInfo.Product + ".log");

            foreach (var a in h.Root.Appenders)
            {
                if (a is log4net.Appender.FileAppender)
                {
                    if (a.Name.Equals("FileAppender"))
                    {
                        log4net.Appender.FileAppender fa = (log4net.Appender.FileAppender)a;
                        fa.File = logFileName;
                        fa.ActivateOptions();
                    }
                }
            }
        }
コード例 #28
0
        public void Configure(IEnumerable <KeyValuePair <string, string> > config = null)
        {
            _config = config ?? new Dictionary <string, string>();

            var layoutPattern   = GetValue("LayoutPattern") ?? "%level - %message%newline";
            var identityPattern = GetValue("IdentityPattern") ?? "%date{yyyy-MM-ddTHH:mm:ss.ffffffzzz} %P{log4net:HostName} %logger";
            var remoteServer    = GetValue("RemoteServer") ?? "logs4.papertrailapp.com";
            var remotePort      = GetValue("RemotePort") ?? "0000";
            var logFile         = GetValue("LogFile") ?? "log.txt";


            var layout = new Fr8PatternLayout()
            {
                ConversionPattern = layoutPattern
            };

            var identity = new log4net.Layout.PatternLayout()
            {
                ConversionPattern = identityPattern
            };

            var fileLayout = new log4net.Layout.PatternLayout()
            {
                ConversionPattern = identityPattern + " : " + layoutPattern
            };

            var appender = new Fr8RemoteSyslogAppender()
            {
                Layout = layout,
                //identity rendering dows not working properly
                //Identity = identity,
                RemoteAddress = remoteServer,
                RemotePort    = int.Parse(remotePort)
            };



            var fap = new log4net.Appender.FileAppender(fileLayout, logFile);

            log4net.Config.BasicConfigurator.Configure(appender, fap);
        }
コード例 #29
0
 private log4net.Appender.FileAppender getAppender()
 {
     m_AppenderLastUsed = DateTime.Now;
     if (m_LogFileName != DateTime.Now.ToString(FILE_NAME_FORMAT, CultureInfo.InvariantCulture) + ".txt")
     {
         m_LogFileName = DateTime.Now.ToString(FILE_NAME_FORMAT, CultureInfo.InvariantCulture) + ".txt";
         m_LogFile     = m_LogFilePath + m_LogFileName;
     }
     if (m_Appender == null)
     {
         if (!Directory.Exists(m_LogFilePath))
         {
             try
             {
                 Directory.CreateDirectory(m_LogFilePath);
             }
             catch (DirectoryNotFoundException)
             {
                 m_LogFilePath = AppDomain.CurrentDomain.BaseDirectory + @"\Logs\";
                 Directory.CreateDirectory(m_LogFilePath);
                 m_LogFile = m_LogFilePath + m_LogFileName;
             }
             catch (IOException)
             {
                 m_LogFilePath = AppDomain.CurrentDomain.BaseDirectory + @"\Logs\";
                 Directory.CreateDirectory(m_LogFilePath);
                 m_LogFile = m_LogFilePath + m_LogFileName;
             }
         }
         m_Appender = new log4net.Appender.FileAppender(m_Layout, m_LogFile, true);
     }
     m_Appender.Name           = "Logger";
     m_Appender.Threshold      = convertPriorityTextToPriority(s_SCurrentLogLevel);
     m_Appender.ImmediateFlush = true;
     log4net.Config.BasicConfigurator.Configure(m_Appender);
     m_Appender.ActivateOptions();
     return(m_Appender);
 }
コード例 #30
0
        private static log4net.ILog CreateLog4NetLogger()
        {
            var hierarchy     = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
            var patternLayout = new log4net.Layout.PatternLayout()
            {
                ConversionPattern = "%date %-5level %logger %message%newline"
            };

            patternLayout.ActivateOptions();

            var roller = new log4net.Appender.FileAppender
            {
                File         = "log4net.txt",
                Layout       = patternLayout,
                LockingModel = new log4net.Appender.FileAppender.MinimalLock()
            };

            roller.ActivateOptions();
            hierarchy.Root.AddAppender(roller);
            hierarchy.Root.Level = log4net.Core.Level.Info;
            hierarchy.Configured = true;
            return(log4net.LogManager.GetLogger(typeof(FileLoggingBenchmark)));
        }
コード例 #31
0
 /// <summary>
 /// log4net設定を読み込んで、必要なディレクトリを作成する
 /// </summary>
 public void MakeDirectoryForLogFile()
 {
     log4net.Repository.ILoggerRepository[] repositories = log4net.LogManager.GetAllRepositories();
     foreach (log4net.Repository.ILoggerRepository repository in repositories)
     {
         foreach (log4net.Appender.IAppender appender in repository.GetAppenders())
         {
             log4net.Appender.FileAppender fileAppender = appender as log4net.Appender.FileAppender;
             if (fileAppender != null)
             {
                 // ログファイル
                 string logFile = fileAppender.File;
                 // ログファイルのパス
                 string path = System.IO.Path.GetDirectoryName(logFile);
                 // ディレクトリが存在しなければ作成
                 if (!System.IO.Directory.Exists(path))
                 {
                     System.IO.Directory.CreateDirectory(path);
                 }
             }
         }
     }
 }
コード例 #32
0
 public static string GetLogFile()
 {
     log4net.Appender.FileAppender fileAppender = App.FindAppender("LogFileAppender") as log4net.Appender.FileAppender;
     return(fileAppender.File);
 }
コード例 #33
0
ファイル: Main.cs プロジェクト: areiter/InMemoryFuzzing
        //        private static void TestApamaLinux()
        //        {
        //            IDictionary<string, string> config = new Dictionary<string, string>();
        //            config.Add("gdb_exec", "/opt/gdb-7.2/bin/gdb");
        //            config.Add("gdb_log", "stream:stderr");
        //            
        //            //config.Add("target", "extended-remote :1234");
        //            
        //            config.Add("target", "run_local");
        //            
        //            //config.Add("target", "attach_local");
        //            //config.Add("target-options", "14577");
        //            
        //            //config.Add("file", "/home/andi/Documents/Uni/master-thesis/src/test_sources/gdb_reverse_debugging_test/gdb_reverse_debugging_test");
        //            config.Add("file", "/home/andi/hacklet/prog0-x64");
        //            
        //            using(ITargetConnector connector =
        //                GenericClassIdentifierFactory.CreateFromClassIdentifierOrType<ITargetConnector>("general/gdb"))
        //            {
        //                ISymbolTable symbolTable = (ISymbolTable)connector;
        //                
        //                connector.Setup(config);
        //                connector.Connect();
        //                
        //                ISymbolTableMethod main = symbolTable.FindMethod("main");
        //                IBreakpoint snapshotBreakpoint = connector.SetSoftwareBreakpoint(main, 0, "break_snapshot");
        //                IBreakpoint restoreBreakpoint = connector.SetSoftwareBreakpoint (0x4007b5, 0, "break_restore");
        //                
        ////				IFuzzDescription barVar1_Description = new SingleValueFuzzDescription(bar.Parameters[0], 
        ////					new RandomByteGenerator( 4, 4, RandomByteGenerator.ByteType.All));		
        ////				IFuzzDescription barVar1_readableChar = new PointerValueFuzzDescription(bar.Parameters[0],
        ////					new RandomByteGenerator(5, 1000, RandomByteGenerator.ByteType.PrintableASCIINullTerminated));
        //                
        //                connector.DebugContinue ();
        ////				Registers r = ((Fuzzer.TargetConnectors.GDB.GDBConnector)connector).GetRegisters();
        ////				using(FileStream fSink = new FileStream("/home/andi/x86-64.registers", FileMode.CreateNew, FileAccess.Write))
        ////				{
        ////					StreamHelper.WriteTypedStreamSerializable(r, fSink);
        ////				}
        //             	ISymbolTableVariable argv = main.Parameters[1];
        //                ISymbolTableVariable dereferencedArgv = argv.Dereference();
        //                
        //                DataGeneratorLogger datagenLogger = new DataGeneratorLogger("/home/andi/log");
        ////				IFuzzDescription fuzzArgv = new PointerValueFuzzDescription(
        ////					dereferencedArgv, new RandomByteGenerator(
        ////				                          100, 10000, RandomByteGenerator.ByteType.PrintableASCIINullTerminated));
        ////				IStackFrameInfo stackFrameInfo = connector.GetStackFrameInfo();
        //                
        ////				
        ////				FuzzController fuzzController = new FuzzController(
        ////					connector,
        ////					snapshotBreakpoint,
        ////					restoreBreakpoint,
        ////					new LoggerCollection(
        ////						new GDBLogger((GDBConnector)connector, "/home/andi/log"),
        ////						new StackFrameLogger(connector, "/home/andi/log"),
        ////						datagenLogger
        ////					),
        ////					fuzzArgv);
        ////					
        ////				fuzzController.Fuzz();
        //            }
        //            
        //
        //            
        //            Console.ReadLine();
        //            
        //        }
        /// <summary>
        /// Initializes the logger
        /// </summary>
        private static void SetupLogging()
        {
            log4net.Appender.FileAppender fileAppender = new log4net.Appender.FileAppender();
            fileAppender.Name = "FileAppender";
            //fileAppender.Writer = new StreamWriter("/home/andi/fuzzer.log");
            fileAppender.ImmediateFlush = true;
            fileAppender.Layout = new log4net.Layout.PatternLayout("[%date{dd.MM.yyyy HH:mm:ss,fff}]-%-5level-[%c]: %message%newline");
            fileAppender.File = "/home/andi/fuzzer.log";
            fileAppender.ActivateOptions();

            log4net.Appender.ConsoleAppender appender = new log4net.Appender.ConsoleAppender();
            appender.Name = "ConsoleAppender";
            appender.Layout = new log4net.Layout.PatternLayout("[%date{dd.MM.yyyy HH:mm:ss,fff}]-%-5level-[%c]: %message%newline");

            log4net.Appender.ForwardingAppender forwarder = new log4net.Appender.ForwardingAppender();
            forwarder.AddAppender(fileAppender);
            forwarder.AddAppender(appender);

            log4net.Config.BasicConfigurator.Configure(forwarder);

            //_logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        }
コード例 #34
0
ファイル: Log.cs プロジェクト: bpatra/sandbox
        public static void InitLog(string completeLogFile, bool externalConsole)
        {
            _filePath = completeLogFile;

            var hierarchy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
            hierarchy.Root.RemoveAllAppenders();

            var pl = new log4net.Layout.PatternLayout { ConversionPattern = DefaultConversionPatern };
            pl.ActivateOptions();
            var fileAppender = new log4net.Appender.FileAppender
            {
                AppendToFile = true,
                LockingModel = new log4net.Appender.FileAppender.MinimalLock(),
                File = _filePath,
                Layout = pl
            };
            fileAppender.ActivateOptions();

            log4net.Config.BasicConfigurator.Configure(fileAppender);

            _logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

            if (externalConsole)
            {
                AddLogToConsole(false);
            }
        }
コード例 #35
0
ファイル: Logging.cs プロジェクト: TeoTwawki/DFOCP
        private static void SetUpFileLogger()
        {
            string filePattern = "%date %-15.15thread %-5level: %message%newline";
            log4net.Layout.ILayout layout;
            log4net.Layout.PatternLayout normalTextLayout = new log4net.Layout.PatternLayout( filePattern );
            normalTextLayout.ActivateOptions();
            layout = normalTextLayout;

            log4net.Appender.FileAppender fileAppender = new log4net.Appender.FileAppender();
            fileAppender.AppendToFile = false;
            fileAppender.Encoding = Encoding.UTF8;
            fileAppender.File = Paths.LogPath;
            fileAppender.ImmediateFlush = true;
            fileAppender.Layout = layout;
            fileAppender.LockingModel = new log4net.Appender.FileAppender.ExclusiveLock();
            fileAppender.Name = "File appender";
            fileAppender.Threshold = log4net.Core.Level.Debug;

            fileAppender.ActivateOptions();

            // A slight bit of hackery in order to programatically set more than one appender (which isn't supported by BasicConfigurator)
            log4net.Repository.Hierarchy.Logger root = ( (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository() ).Root;
            root.AddAppender( fileAppender );
            root.Repository.Configured = true;
        }
コード例 #36
0
        protected void ConfigureLogger()
        {
            log4net.Layout.ILayout layout;
            log4net.Appender.FileAppender appender;

            layout = new log4net.Layout.PatternLayout("\v%date{ISO8601} %logger %-5level: %message%newline");
            appender = new log4net.Appender.FileAppender();
            appender.AppendToFile = true;
            appender.Encoding = Encoding.UTF8;
            appender.File = this._path;
            appender.ImmediateFlush = true;
            appender.Layout = layout;
            appender.LockingModel = new log4net.Appender.FileAppender.MinimalLock();
            appender.Name = "FileAppender";
            appender.SecurityContext = new log4net.Util.WindowsSecurityContext();
            appender.Threshold = log4net.Core.Level.All;
            log4net.Config.BasicConfigurator.Configure(appender);
        }
コード例 #37
0
 /// <summary>
 /// Configures the file logger
 /// </summary>
 /// <param name="LogFileName">Base name for log file</param>
 /// <param name="LogLevel">Debug level for file logger</param>
 public static void CreateFileLogger(string LogFileName, int LogLevel)
 {
     var curLogger = (log4net.Repository.Hierarchy.Logger)m_FileLogger.Logger;
         m_FileAppender = CreateFileAppender(LogFileName);
         curLogger.AddAppender(m_FileAppender);
         SetFileLogLevel(LogLevel);
 }
コード例 #38
0
        /// <summary>
        /// Creates a file appender
        /// </summary>
        /// <param name="LogfileName">Log file name for the appender to use</param>
        /// <returns>A configured file appender</returns>
        private static log4net.Appender.FileAppender CreateFileAppender(string LogfileName)
        {
            var ReturnAppender = new log4net.Appender.FileAppender();

                ReturnAppender.Name = "FileAppender";
                m_FileDate = DateTime.Now.ToString("MM-dd-yyyy");
                m_BaseFileName = LogfileName;
                ReturnAppender.File = m_BaseFileName + "_" + m_FileDate + ".txt";
                ReturnAppender.AppendToFile = true;
                var Layout = new log4net.Layout.PatternLayout();
                Layout.ConversionPattern = "%date{MM/dd/yyyy HH:mm:ss}, %message, %level,%newline";
                Layout.ActivateOptions();
                ReturnAppender.Layout = Layout;
                ReturnAppender.ActivateOptions();

                return ReturnAppender;
        }
コード例 #39
0
        protected override void ProcessRecord()
        {
            //todo set default to scriptname.log
            string test = MyInvocation.ScriptName;

            log4net.ILog       logger      = log4net.LogManager.GetLogger("Powershell");
            System.IO.FileInfo logFileInfo = new System.IO.FileInfo(_logConfigFile);
            log4net.Config.XmlConfigurator.ConfigureAndWatch(logFileInfo);
            WriteObject(logger);

            log4net.Appender.IAppender[] appenders = log4net.LogManager.GetRepository().GetAppenders();
            foreach (log4net.Appender.IAppender logAppender in appenders)
            {
                #region RollingFilleAppender
                if ((logAppender.GetType() == typeof(log4net.Appender.RollingFileAppender)) && logAppender.Name == "OSCCDefaultRollingFileAppender")
                {
                    log4net.Appender.FileAppender fileAppender = (log4net.Appender.RollingFileAppender)logAppender;
                    if (MyInvocation.BoundParameters.ContainsKey("LogFileName"))
                    {
                        log4net.Util.PatternString dynamicFileName         = new log4net.Util.PatternString(LogFileName);
                        log4net.Util.ConverterInfo adminuiLogConverterInfo = new log4net.Util.ConverterInfo();
                        adminuiLogConverterInfo.Name = "adminuilog";
                        adminuiLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMAdminUILogFolderPatternConverter);
                        log4net.Util.ConverterInfo ccmLogConverterInfo = new log4net.Util.ConverterInfo();
                        ccmLogConverterInfo.Name = "ccmlog";
                        ccmLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMClientLogFolderPatternConverter);
                        log4net.Layout.PatternLayout newLayout = new log4net.Layout.PatternLayout();
                        dynamicFileName.AddConverter(adminuiLogConverterInfo);
                        dynamicFileName.AddConverter(ccmLogConverterInfo);
                        dynamicFileName.ActivateOptions();
                        //fileAppender.File = LogFileName;
                        fileAppender.File = dynamicFileName.Format();
                    }
                    else
                    {
                        if (MyInvocation.ScriptName != "")
                        {
                            fileAppender.File = MyInvocation.ScriptName + ".log";
                        }
                    }
                    if (MyInvocation.BoundParameters.ContainsKey("FileLogLevel"))
                    {
                        switch (FileLogLevel.ToLower())
                        {
                        case "off": fileAppender.Threshold = log4net.Core.Level.Off; break;

                        case "info": fileAppender.Threshold = log4net.Core.Level.Info; break;

                        case "warn": fileAppender.Threshold = log4net.Core.Level.Warn; break;

                        case "error": fileAppender.Threshold = log4net.Core.Level.Error; break;

                        case "debug": fileAppender.Threshold = log4net.Core.Level.Debug; break;

                        default: fileAppender.Threshold = log4net.Core.Level.Info; break;
                        }
                    }
                    else
                    {
                        fileAppender.Threshold = log4net.Core.Level.Info;
                    }
                    fileAppender.ActivateOptions();
                }
                #endregion

                #region OMSFilleAppender
                if ((logAppender.GetType() == typeof(log4net.Appender.FileAppender)) && logAppender.Name == "OSCCOMSFileAppender")
                {
                    log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)logAppender;
                    if (MyInvocation.BoundParameters.ContainsKey("OMSLogFileName"))
                    {
                        log4net.Util.PatternString dynamicFileName         = new log4net.Util.PatternString(LogFileName);
                        log4net.Util.ConverterInfo adminuiLogConverterInfo = new log4net.Util.ConverterInfo();
                        adminuiLogConverterInfo.Name = "adminuilog";
                        adminuiLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMAdminUILogFolderPatternConverter);
                        log4net.Util.ConverterInfo ccmLogConverterInfo = new log4net.Util.ConverterInfo();
                        ccmLogConverterInfo.Name = "ccmlog";
                        ccmLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMClientLogFolderPatternConverter);
                        log4net.Layout.PatternLayout newLayout = new log4net.Layout.PatternLayout();
                        dynamicFileName.AddConverter(adminuiLogConverterInfo);
                        dynamicFileName.AddConverter(ccmLogConverterInfo);
                        dynamicFileName.ActivateOptions();
                        //fileAppender.File = LogFileName;
                        fileAppender.File = dynamicFileName.Format();
                    }
                    else
                    {
                        if (MyInvocation.ScriptName != "")
                        {
                            fileAppender.File = MyInvocation.ScriptName + ".OMS." + DateTime.Today.ToString("yyyyMMdd") + ".log";
                        }
                    }
                    if (MyInvocation.BoundParameters.ContainsKey("OMSFileLogLevel"))
                    {
                        switch (FileLogLevel.ToLower())
                        {
                        case "off": fileAppender.Threshold = log4net.Core.Level.Off; break;

                        case "info": fileAppender.Threshold = log4net.Core.Level.Info; break;

                        case "warn": fileAppender.Threshold = log4net.Core.Level.Warn; break;

                        case "error": fileAppender.Threshold = log4net.Core.Level.Error; break;

                        case "debug": fileAppender.Threshold = log4net.Core.Level.Debug; break;

                        default: fileAppender.Threshold = log4net.Core.Level.Info; break;
                        }
                    }
                    fileAppender.ActivateOptions();
                }
                #endregion
                #region ConsoleAppender
                if (logAppender.GetType() == typeof(log4net.Appender.ConsoleAppender))
                {
                    log4net.Appender.ConsoleAppender consoleAppender = (log4net.Appender.ConsoleAppender)logAppender;
                    if (this.Host.Name.ToLower() == "consolehost")
                    {
                        if (MultiColor == false)
                        {
                            {
                                if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel"))
                                {
                                    switch (ConsoleLogLevel.ToLower())
                                    {
                                    case "off": consoleAppender.Threshold = log4net.Core.Level.Off; break;

                                    case "info": consoleAppender.Threshold = log4net.Core.Level.Info; break;

                                    case "warn": consoleAppender.Threshold = log4net.Core.Level.Warn; break;

                                    case "error": consoleAppender.Threshold = log4net.Core.Level.Error; break;

                                    case "debug": consoleAppender.Threshold = log4net.Core.Level.Debug; break;

                                    default: consoleAppender.Threshold = log4net.Core.Level.Info; break;
                                    }
                                }
                            }
                        }
                        else
                        {
                            consoleAppender.Threshold = log4net.Core.Level.Off;
                        }
                    }
                    else
                    {
                        if (this.Host.Name.ToLower() == "windows powershell ise host")
                        {
                            if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel"))
                            {
                                switch (ConsoleLogLevel.ToLower())
                                {
                                case "off": consoleAppender.Threshold = log4net.Core.Level.Off; break;

                                case "info": consoleAppender.Threshold = log4net.Core.Level.Info; break;

                                case "warn": consoleAppender.Threshold = log4net.Core.Level.Warn; break;

                                case "error": consoleAppender.Threshold = log4net.Core.Level.Error; break;

                                case "debug": consoleAppender.Threshold = log4net.Core.Level.Debug; break;

                                default: consoleAppender.Threshold = log4net.Core.Level.Info; break;
                                }
                            }
                            if ((MyInvocation.BoundParameters.ContainsKey("MultiColor")) && (MultiColor == true))
                            {
                                Console.WriteLine("Powershell ISe does not support multi colored displays.");
                            }
                        }
                    }
                    consoleAppender.ActivateOptions();
                }
                #endregion
                #region coloredconsoleappender
                if (logAppender.GetType() == typeof(log4net.Appender.ColoredConsoleAppender))
                {
                    log4net.Appender.ColoredConsoleAppender coloredConsoleAppender = (log4net.Appender.ColoredConsoleAppender)logAppender;
                    if (this.Host.Name.ToLower() == "consolehost")
                    {
                        if (MultiColor == true)
                        {
                            if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel"))
                            {
                                switch (ConsoleLogLevel.ToLower())
                                {
                                case "off": coloredConsoleAppender.Threshold = log4net.Core.Level.Off; break;

                                case "info": coloredConsoleAppender.Threshold = log4net.Core.Level.Info; break;

                                case "warn": coloredConsoleAppender.Threshold = log4net.Core.Level.Warn; break;

                                case "error": coloredConsoleAppender.Threshold = log4net.Core.Level.Error; break;

                                case "debug": coloredConsoleAppender.Threshold = log4net.Core.Level.Debug; break;

                                default: coloredConsoleAppender.Threshold = log4net.Core.Level.Info; break;
                                }
                            }
                        }
                        else
                        {
                            coloredConsoleAppender.Threshold = log4net.Core.Level.Off;
                        }
                    }
                    if (this.Host.Name.ToLower() == "windows powershell ise host")
                    {
                        coloredConsoleAppender.Threshold = log4net.Core.Level.Off;
                    }
                    coloredConsoleAppender.ActivateOptions();
                }
                #endregion
            }
        }
コード例 #40
0
        public void WriteLocalLog(string LogType, long lModule, string szModuleInstanceName, long lCode, string szDescription, string szSourceFile, long lLineNo)
        {
            lock (lockobj)
            {
                DateTime dtLocalTime = DateTime.Now;
                long     lThisDay, lThisMonth, lThisYear, lThisHour;
                lThisDay   = dtLocalTime.Day;
                lThisMonth = dtLocalTime.Month;
                lThisYear  = dtLocalTime.Year;
                lThisHour  = dtLocalTime.Hour;

                if ((lThisDay != lLastDay) || (lThisMonth != lLastMonth) || (lThisYear != lLastYear))
                {
                    // delete old log files
                    DeleteOldLogFiles(dtLocalTime, Convert.ToInt32(LogReserveDay), LogHomeDir);
                }

                string szLogForTodaysDate = LogHomeDir + "\\" + string.Format("{0:####}" + "-" + "{1:0#}" + "-" + "{2:0#}", lThisYear, lThisMonth, lThisDay);
                string szLogForCurrentHourOfTodaysDate   = szLogForTodaysDate + "\\" + string.Format("{0:####}" + "-" + "{1:0#}" + "-" + "{2:0#}" + "-" + "{3:0#}" + ".log", lThisYear, lThisMonth, lThisDay, lThisHour);
                log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
                foreach (log4net.Appender.IAppender a in h.Root.Appenders)
                {
                    if (a is log4net.Appender.FileAppender)
                    {
                        log4net.Appender.FileAppender fa = (log4net.Appender.FileAppender)a;
                        string logFileLocation           = szLogForCurrentHourOfTodaysDate;
                        fa.File = logFileLocation;
                        fa.ActivateOptions();
                        break;
                    }
                }

                log4net.ILog logger = log4net.LogManager.GetLogger("RISLogger");
                switch (LogType)
                {
                case "Performance":
                    logger.Debug("'" + lModule + "'-'" + szModuleInstanceName + "'-'" + lCode + "'-'" + szDescription + "'-'" + szSourceFile + "'-'" + lLineNo + "'");
                    break;

                case "Debug":
                    logger.Debug("'" + lModule + "'-'" + szModuleInstanceName + "'-'" + lCode + "'-'" + szDescription + "'-'" + szSourceFile + "'-'" + lLineNo + "'");
                    break;

                case "Info":
                    logger.Info("'" + lModule + "'-'" + szModuleInstanceName + "'-'" + lCode + "'-'" + szDescription + "'-'" + szSourceFile + "'-'" + lLineNo + "'");
                    break;

                case "Warn":
                    logger.Warn("'" + lModule + "'-'" + szModuleInstanceName + "'-'" + lCode + "'-'" + szDescription + "'-'" + szSourceFile + "'-'" + lLineNo + "'");
                    break;

                case "Error":
                    logger.Error("'" + lModule + "'-'" + szModuleInstanceName + "'-'" + lCode + "'-'" + szDescription + "'-'" + szSourceFile + "'-'" + lLineNo + "'");
                    break;

                case "Fatal":
                    logger.Fatal("'" + lModule + "'-'" + szModuleInstanceName + "'-'" + lCode + "'-'" + szDescription + "'-'" + szSourceFile + "'-'" + lLineNo + "'");
                    break;
                }

                lLastHour  = lThisHour;
                lLastDay   = lThisDay;
                lLastMonth = lThisMonth;
                lLastYear  = lThisYear;
            }
        }