देख रहा log4net की सिफारिश करेंगे।
आपको एकाधिक लॉग फ़ाइलों की आवश्यकता होगी। तो एकाधिक फ़ाइल परिशिष्ट। इसके अलावा आप फ़ाइल एपेंडर गतिशील रूप से बना सकते हैं।
नमूना कोड:
using log4net;
using log4net.Appender;
using log4net.Layout;
using log4net.Repository.Hierarchy;
// Set the level for a named logger
public static void SetLevel(string loggerName, string levelName)
{
ILog log = LogManager.GetLogger(loggerName);
Logger l = (Logger)log.Logger;
l.Level = l.Hierarchy.LevelMap[levelName];
}
// Add an appender to a logger
public static void AddAppender(string loggerName, IAppender appender)
{
ILog log = LogManager.GetLogger(loggerName);
Logger l = (Logger)log.Logger;
l.AddAppender(appender);
}
// Create a new file appender
public static IAppender CreateFileAppender(string name, string fileName)
{
FileAppender appender = new
FileAppender();
appender.Name = name;
appender.File = fileName;
appender.AppendToFile = true;
PatternLayout layout = new PatternLayout();
layout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n";
layout.ActivateOptions();
appender.Layout = layout;
appender.ActivateOptions();
return appender;
}
// In order to set the level for a logger and add an appender reference you
// can then use the following calls:
SetLevel("Log4net.MainForm", "ALL");
AddAppender("Log4net.MainForm", CreateFileAppender("appenderName", "fileName.log"));
// repeat as desired
सूत्रों का कहना है/अच्छा लिंक:
Log4Net: Programmatically specify multiple loggers (with multiple file appenders)
Adding appenders programmatically
How to configure log4net programmatically from scratch (no config)
प्लस लॉग 4नेट भी इवेंट लॉग में लिखने की अनुमति देता है। सबकुछ कॉन्फ़िगरेशन आधारित है, और विन्यास को रनटाइम पर xml से गतिशील रूप से लोड किया जा सकता है।
संपादित करें 2:
एक मक्खी पर लॉग फ़ाइलें स्विच करने के लिए जिस तरह से: log4net विन्यास फाइल वातावरण चर का समर्थन करता है:
Environment.SetEnvironmentVariable("log4netFileName", "MyApp.log");
और log4net config में:
<param name="File" value="${log4netFileName}".log/>
स्रोत
2012-04-20 07:59:06
मैं भी –
इच्छुक हूँ वहाँ केवल एक ही आवेदन चल रहा है कि सभी मशीनों दूर से स्कैनिंग है या आपके एप्लिकेशन को व्यक्तिगत रूप से प्रत्येक मशीन पर तैनात किया जाएगा है? –
आप एक लॉग फ़ाइल या प्रति मशीन बनाना चाहते हैं? – Reniuz