Click here to Skip to main content
15,886,919 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Below is my code for a C# console application in DotNet Framework 4.0. It shows no error but the message is not being written to log file. Please help me here

App.Config:-

XML
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.13.0" />
  </configSections>
<log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender,log4net">
      <file value="D:\\TestProj\\TestLog.txt" />
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="INFO" />
        <levelMax value="FATAL" />
      </filter>
    </appender>

    <root>
      <level value="DEBUG"/>
      <appender-ref ref="FileAppender"/>
    </root>
  </log4net>
</configuration>



Class code:-


using log4net;
using log4net.Config;
public class Program
    {
 static void Main(string[] args)
        {
log4net.Config.XmlConfigurator.Configure();
            ILog log = log4net.LogManager.GetLogger(typeof(Program));
            log.Debug("This is a debug message");
            Console.WriteLine("Successfuly written into log !!!");
            Console.ReadLine();


        }
}
Posted

1 solution

Hello Arun,

I don' know whether it's a typing mistake, but changing your configuration to one as shown below should take care of the problem.

XML
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" />
    </configSections>
    <log4net>
        <appender name="FileAppender" type="log4net.Appender.FileAppender">
            <file value="D:\\TestProj\\TestLog.txt" />
            <appendtofile value="true" />
            <lockingmodel type="log4net.Appender.FileAppender+MinimalLock" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionpattern value="%date [%thread] %level %logger - %message%newline" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <levelmin value="INFO" />
                <levelmax value="FATAL" />
            </filter>
        </appender>
 
        <root>
            <level value="DEBUG" />
            <appender-ref ref="FileAppender" />
        </root>
    </log4net>
</configuration>

Regards,
 
Share this answer
 
v2
Comments
arunkx 16-Jun-15 3:37am    
Hi Prasad,
Thank you for your time but it wasn't a typing mistake if you have though of "configsections" for my "configSections". Unfortunately I am getting warning messages below like "Could not find schema information" for the things inside <log4net> in my App.Cofig file.
Prasad Khandekar 16-Jun-15 3:51am    
Hello Arun,

Try using System.Configuration.IgnoreSectionHandler instead of og4net.Config.Log4NetConfigurationSectionHandler as suggested in log4net samples. Also have a look at this stackoverflow thread.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900