मैं अपने ऐप से कुछ ऐप संदेशों को लॉग इन करना चाहता हूं। इस स्थिति में मैं सिर्फ nunit को log4net के साथ काम करने के लिए मजबूर करना चाहता हूं। मुझे यहां कुछ उदाहरण मिला http://www.ofconsulting.com/PublicPortal/ofc-tech-blog/92-configure-log4net-with-nunit.html।log4net और nunit परीक्षण, सबसे बुनियादी उदाहरण
log4net इस तरह app.config में confugured है:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="log.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
</layout>
</appender>
</log4net>
और मेरे परीक्षण कोड में पीछा कर रहा है
[TestFixture]
class DomainTests
{
protected static readonly ILog log = LogManager.GetLogger(typeof(DomainTests));
public void LoggingTests()
{
log4net.Config.XmlConfigurator.Configure();
}
[Test]
public void BasicLogTest()
{
log.Error("write my log entry already");
}
मेरे परीक्षा उत्तीर्ण की है, लेकिन कुछ भी नहीं log.txt फ़ाइल के भीतर लिखे गए । मैं क्या गलत कर रहा हूं?
मैं बस इसे आवेदन करने जैसे संदेशों को संग्रहीत करने के लिए जितना संभव हो सके उतना आसान बनाना चाहता हूं, आवेदन से बाहर निकलें। सादर।
[TestFixture]
class DomainTests
{
protected static readonly ILog log = LogManager.GetLogger(typeof(DomainTests));
public void LoggingTests()
{
log4net.Config.XmlConfigurator.Configure();
}
[Test]
public void BasicLogTest()
{
log.Error("write my log entry already");
}
[SetUp]
RunBeforeAnyTests()
{
BasicConfigurator.Configure();
}
[TearDown]
RunAfterAnyTests()
{
// ...
}
मैं भी app.config फ़ाइल Log4Net.config फ़ाइल के बजाय का उपयोग करेंगे, यह सिर्फ क्लीनर लगता है:
देखना चाहते हैं तो क्या लॉग 4नेट सामान्य रूप से काम करता है? कारण मैं पूछता हूं कि मैं जानना चाहता हूं कि हमें लॉग 4Net की लोडिंग के माध्यम से जाना है ... – Faraday
इसके अलावा, जब भी मैं कक्षाओं के बीच अपना लॉग कॉपी/पेस्ट करने के लिए इसका उपयोग करता हूं, तो आप अपना क्लास नाम टाइप करते हैं: निजी स्थैतिक रीडोनली ILog लॉगर = LogManager.GetLogger (MethodBase.GetCurrentMethod()। DeclaringType); – Faraday
इसका मतलब यह कैसे है कि यह सामान्य रूप से काम करता है? :) मुझे अपने परीक्षण प्रोजेक्ट में लॉग 4नेट संदर्भ जोड़ा गया है और शेष कोड यहां पोस्ट किया गया है, परीक्षण चलाने या prj निर्माण में कोई त्रुटि संदेश नहीं दिया गया है। – panjo