Page view counter

Help me with log4net

Last post 09-03-2008 5:01 PM by PHILMEE95. 11 replies.

Sort Posts:

  • Help me with log4net

    12-08-2006, 4:13 AM
    • Loading...
    • pvphuc
    • Joined on 10-29-2005, 1:01 AM
    • Posts 83
    • Points 231

    I am new with log4net and I am getting problem with it.

    I had referenced log4net.dll but when I write in my code :

    using log4net; or in my Web.config

    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
     </configSections>

    the compiler did not know that.

    I am using .net framework 2.0 and log4net 1.2.10

    Please help me with this problem.

    Thanks in advance 

  • Re: Help me with log4net

    12-08-2006, 6:04 AM
    • Loading...
    • Dejan Vesic
    • Joined on 12-04-2006, 10:08 PM
    • Belgrade, Serbia
    • Posts 473
    • Points 2,400

    Hello.

    In order to work with log4net, you need to:

    1. Reference log4net.dll in your project

    2. Add config handler as you already did, but because of changes in ASP.NET 2.0 security model, please do it like this:

    <configSections>
        <section name="log4net" 
          type="log4net.Config.Log4NetConfigurationSectionHandler
          , log4net"     
          requirePermission="false"/>
    </configSections>
    
    
     

    3. Add log4net appender configuration:

      <log4net>
        <appender name="Console" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <!-- Pattern to output the caller's file name and line number -->
            <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
          </layout>
        </appender>
        <appender name="AspNetTraceAppender" type="log4net.Appender.AspNetTraceAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
    
        <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
          <file value="LogFiles\file.log" />
          <appendToFile value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %level %thread %logger - %message%newline" />
          </layout>
        </appender>
        <root>
          <level value="INFO" />
          <appender-ref ref="AspNetTraceAppender" />
          <appender-ref ref="Console" />
          <appender-ref ref="RollingFile" />
        </root>
      </log4net>

     4. Activate log4net in your application. Ideal place is Application_Start:

     
    protected void Application_Start(Object sender, EventArgs e)
    {
        log4net.Config.XmlConfigurator.Configure();
    }
     

    5.  Start using it :-)

     

    Regards,
    Dejan Vesić

    MCAD for .Net technologies | http://www.vesic.org/english/ | Blog: http://www.vesic.org/english/blog/
    Filed under:
  • Re: Help me with log4net

    12-11-2006, 5:27 AM
    • Loading...
    • pvphuc
    • Joined on 10-29-2005, 1:01 AM
    • Posts 83
    • Points 231

    Thanks Dejan Vesic so much, it is done.

    But now I get a problem with external Log4Net.Config file. I want to create this file to write Log4Net configuration instead writting in Web.config.

    My Web run normally but it did not write message into file log. 

    This  is my Code :

    1. Log4Net.Config file :

        <?xml version="1.0" encoding="utf-8" ?>
    <log4net>
      <appender name="FileAppender" type="log4net.Appender.FileAppender">
        <File value="c:/edex-log.txt" />
        <AppendToFile value="true" /> 
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%5p %d (%c:%L) - %m%n" />
        </layout>
      </appender>
      <root>
        <level value="INFO" />
        <appender-ref ref="FileAppender" />
      </root>
    </log4net>

     

    2. Code

        private static readonly ILog log = LogManager.GetLogger("Default");
        protected void Page_Load(object sender, EventArgs e)
        {           

            XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo("Log4Net.config"));
            log.Info("Entering application.");
        } 

     What's wrong with it.

    Please help me solve this problem!

    Thanks so much.

    Phuc 

  • Re: Help me with log4net

    12-11-2006, 5:48 AM
    • Loading...
    • Dejan Vesic
    • Joined on 12-04-2006, 10:08 PM
    • Belgrade, Serbia
    • Posts 473
    • Points 2,400

    I believe that this is matter of relative path problem - you need to specify exactly where config file is.

    Try this:

    XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("~/Log4Net.config") ));  

    Regards,
    Dejan Vesić

    MCAD for .Net technologies | http://www.vesic.org/english/ | Blog: http://www.vesic.org/english/blog/
    Filed under:
  • Re: Help me with log4net

    12-12-2006, 3:45 AM
    • Loading...
    • pvphuc
    • Joined on 10-29-2005, 1:01 AM
    • Posts 83
    • Points 231

    You are right. 

    Thank you very much!

    And I have another problem in Log4Net even though I have Log4Net Document.

    Please help me more understand TraceAppender attribute.

    If I have only :

    <?xml version="1.0" encoding="utf-8" ?> 

    <log4net> 

    <appender name="TraceAppender" type="log4net.Appender.TraceAppender" >
        <filter type="log4net.Filter.LevelRangeFilter">
          <acceptOnMatch value="true" />     
        </filter>
        <layout type="log4net.Layout.PatternLayout">
          <ConversionPattern value="%-5p - %m%n"/>
        </layout>
      </appender>

     <root>
        <levelMin value="INFO" />
        <levelMax value="FATAL" />
        <appender-ref ref="TraceAppender" />
      </root>
    </log4net>

    in my Config file.

    Is it right or wrong!

    Where is the Trace Info stored?

     

    Thanks so much !

    Phuc 

  • Re: Help me with log4net

    12-12-2006, 5:30 AM
    • Loading...
    • Dejan Vesic
    • Joined on 12-04-2006, 10:08 PM
    • Belgrade, Serbia
    • Posts 473
    • Points 2,400

    Well, there is no too much to say about TraceAppender Smile It is using standard Trace class, for which you need to configure Listeners (look at article).

    Personally, I do not use it, I am using Console / File and SMTP Appenders.

    Regards,
    Dejan Vesić

    MCAD for .Net technologies | http://www.vesic.org/english/ | Blog: http://www.vesic.org/english/blog/
    Filed under:
  • Re: Help me with log4net

    12-12-2006, 5:37 AM
    • Loading...
    • pvphuc
    • Joined on 10-29-2005, 1:01 AM
    • Posts 83
    • Points 231

    Another question, I hope I do not bother you much.

    First, I thought ConsoleAppender is writting Log Info in Console App. When I tried to do that nothing happen.

    Now I just understand about FileAppender and RollingLogFileAppender.

    Could you tell me more about ConsoleAppender ?

    Thanks for your support,

    Phuc 

  • Re: Help me with log4net

    12-12-2006, 5:43 AM
    • Loading...
    • Dejan Vesic
    • Joined on 12-04-2006, 10:08 PM
    • Belgrade, Serbia
    • Posts 473
    • Points 2,400

    If you are writing Console application (or using Win32 API AllocConsole), that ConsoleAppender is for you.

    If not (i.e. you have WinForms app or ASP.NET app), use other appenders, like FileAppender. 

    Regards,
    Dejan Vesić

    MCAD for .Net technologies | http://www.vesic.org/english/ | Blog: http://www.vesic.org/english/blog/
  • Re: Help me with log4net

    12-12-2006, 5:48 AM
    • Loading...
    • pvphuc
    • Joined on 10-29-2005, 1:01 AM
    • Posts 83
    • Points 231

    You mean If I am in ASP.net, the ConsoleAppender is useless.

     

     

  • Re: Help me with log4net

    12-12-2006, 5:50 AM
    • Loading...
    • Dejan Vesic
    • Joined on 12-04-2006, 10:08 PM
    • Belgrade, Serbia
    • Posts 473
    • Points 2,400

    Exactly.

    Stick with File or RollingFile appender + SMTP for ERROR/FATAL - best practice Yes 

    Regards,
    Dejan Vesić

    MCAD for .Net technologies | http://www.vesic.org/english/ | Blog: http://www.vesic.org/english/blog/
  • Re: Help me with log4net

    12-12-2006, 5:52 AM
    • Loading...
    • pvphuc
    • Joined on 10-29-2005, 1:01 AM
    • Posts 83
    • Points 231

    Thank you again!

    Have a nice day.

    Best Regards,

    Phuc 

  • Re: Help me with log4net

    09-03-2008, 5:01 PM
    • Loading...
    • PHILMEE95
    • Joined on 11-04-2006, 2:14 AM
    • Posts 6
    • Points 2

    Awesome, wish I found this a long time ago. Trace appender works pretty well for me now.

Page 1 of 1 (12 items)