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); } } } }
/// <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(); }
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; }
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); } }
/// <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(); } } } }
/// <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); } }
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); }
public UtilLog(string _logFileName, Log_LoggingLevel _systemLoggingLevel) { fileAppender = CreateAppender(_logFileName, _systemLoggingLevel.ToString()); CreateLogger(fileAppender, _logFileName); log = LogManager.GetLogger(_logFileName); SystemLoggingLevel = _systemLoggingLevel; }
public UtilLog(string _logFileName, Log_LoggingLevel _systemLoggingLevel) { fileAppender = CreateAppender(AppDomain.CurrentDomain.BaseDirectory + @"\" + _logFileName, _systemLoggingLevel.ToString()); CreateLogger(fileAppender, _logFileName); log = LogManager.GetLogger(_logFileName); SystemLoggingLevel = _systemLoggingLevel; }
/// <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; }
/// <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); } }
/// <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(); } } }
/////////////////////////////////////////////////////////////////////////////// #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(); } } }
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); }
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)); }
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(); } } }
/// <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; }
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); }
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); }
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 }
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); }
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); }
/// <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); }
/// <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(); } } }
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 } } }
// 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; }
/// <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(); } } } }
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); }
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); }
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))); }
/// <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); } } } } }
public static string GetLogFile() { log4net.Appender.FileAppender fileAppender = App.FindAppender("LogFileAppender") as log4net.Appender.FileAppender; return(fileAppender.File); }
// 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); }
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; }
/// <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); }
/// <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; }
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 } }
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; } }