logging-log4net-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knittel Bruno" <Bruno.Knit...@bruker-biospin.de>
Subject AW: AW: log4net configuration withtou Xml file
Date Wed, 07 May 2008 06:05:17 GMT
Hi Jon,
 
    many thanks for your reactivity.
 
    Robin S wrote:  Just in case it matters (especialy since you're using C#, which is case-sensitive),
in your ILog statements, "warn" is lowercase, while the others are mixed case.

    Thank you Robin, but this was just the messages I wrote to the log system to test my example
;-)

 

Bruno

Bruker BioSpin GmbH 
  _____  


Bruno Knittel
Automation Development

Bruker BioSpin GmbH 
Silberstreifen
76287 Rheinstetten 
Germany	  Phone: +49 721 5161-90064
 Fax:     +49 721 5161-494

	
  bruno.knittel@bruker-biospin.de
  www.bruker-biospin.com <http://www.bruker-biospin.com/> 

  _____  

Bruker BioSpin GmbH: Sitz der Gesellschaft/Registered Office: Rheinstetten, HRB 102368 Amtsgericht
Mannheim
Geschäftsführer/Managing Directors: Dr. Bernd Gewiese, Dr. Dieter Schmalbein, Dr. Gerhard
Roth

Diese E-Mail und alle Anlagen können Betriebs- oder Geschäftsgeheimnisse, oder sonstige
vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben,
ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail
und aller Anlagen ausdrücklich untersagt. Bitte benachrichtigen Sie den Absender und löschen/vernichten
Sie die empfangene E-Mail und alle Anlagen.
Vielen Dank. 

This message and any attachments may contain trade secrets or privileged, undisclosed or otherwise
confidential information. If you have received this e-mail in error, you are hereby notified
that any review, copying or distribution of it and its attachments is strictly prohibited.
Please inform the sender immediately and delete/destroy the original message and any copies.
Thank you.



-----Ursprüngliche Nachricht-----
Von: Ron Grabowski [mailto:rongrabowski@yahoo.com] 
Gesendet: Mittwoch, 7. Mai 2008 03:40
An: Log4NET User
Betreff: Re: AW: log4net configuration withtou Xml file


I added an overload to BasicConfigurator that accepts more than one appender so you don't
have to cast down to the Hierarchy and understand what's going on at that level:

 https://issues.apache.org/jira/browse/LOG4NET-153


----- Original Message ----
From: Knittel Bruno <Bruno.Knittel@bruker-biospin.de>
To: Log4NET User <log4net-user@logging.apache.org>
Sent: Tuesday, May 6, 2008 3:38:15 AM
Subject: AW: log4net configuration withtou Xml file


Hi Everyone,
 
    I finally managed to configure log4net through the code, even using multiple appenders.
    Was not so hard, I just took a look at how the BasicConfigurator, XmlConfigurator and
the units tests were written.
 
    Follows the piece of code I just ran. It creates a ConsoleAppender as well as a FileAppender.
    Hope it can help someone.
 
Regards,
 
Bruno
 
using System;
using System.Collections.Generic;
using System.Windows.Forms;
 
using log4net;
using log4net.Appender;
using log4net.Repository;
using log4net.Repository.Hierarchy;
 
namespace log4nettest
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            ConfigureLog();
            ILog lLog = LogManager.GetLogger(typeof(Program));
            lLog.Debug("Debug");
            lLog.Error("Error");
            lLog.Fatal("Fatal");
            lLog.Info("Info");
            lLog.Warn("warn");
        }
 
        private static ConsoleAppender GetConsoleAppender()
        {
            ConsoleAppender lAppender = new ConsoleAppender();
            lAppender.Name = "Console";
            lAppender.Layout = new log4net.Layout.PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff}
%5level [%2thread] %message (%logger{1}:%line)%n");
            lAppender.Threshold = log4net.Core.Level.Error;
            lAppender.ActivateOptions();
 
            return lAppender;
        }
 
        private static FileAppender GetFileAppender()
        {
            FileAppender lAppender = new FileAppender();
            lAppender.Name = "File";
            lAppender.AppendToFile = true;
            lAppender.File = "log.txt";
            lAppender.Layout = new log4net.Layout.PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff}
%5level [%2thread] %message (%logger{1}:%line)%n");
            lAppender.Threshold = log4net.Core.Level.All;
            lAppender.ActivateOptions();
 
            return lAppender;
        }
 
        private static void ConfigureLog()
        {
            Logger root;
            root = ((Hierarchy)LogManager.GetRepository()).Root;
            root.AddAppender(GetConsoleAppender());
            root.AddAppender(GetFileAppender());
            root.Repository.Configured = true;
        }
    }
}

 
 
Bruker BioSpin GmbH 
  _____  


Bruno Knittel
Automation Development

Bruker BioSpin GmbH 
Silberstreifen
76287 Rheinstetten 
Germany	  Phone: +49 721 5161-90064
 Fax:     +49 721 5161-494

	
  bruno.knittel@bruker-biospin.de
  www.bruker-biospin.com <http://www.bruker-biospin.com/> 

  _____  

Bruker BioSpin GmbH: Sitz der Gesellschaft/Registered Office: Rheinstetten, HRB 102368 Amtsgericht
Mannheim
Geschäftsführer/Managing Directors: Dr. Bernd Gewiese, Dr. Dieter Schmalbein, Dr. Gerhard
Roth

Diese E-Mail und alle Anlagen können Betriebs- oder Geschäftsgeheimnisse, oder sonstige
vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben,
ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail
und aller Anlagen ausdrücklich untersagt. Bitte benachrichtigen Sie den Absender und löschen/vernichten
Sie die empfangene E-Mail und alle Anlagen.
Vielen Dank. 

This message and any attachments may contain trade secrets or privileged, undisclosed or otherwise
confidential information. If you have received this e-mail in error, you are hereby notified
that any review, copying or distribution of it and its attachments is strictly prohibited.
Please inform the sender immediately and delete/destroy the original message and any copies.
Thank you.



-----Ursprüngliche Nachricht-----
Von: Radovan Raszka [mailto:raszka@hasam.cz] 
Gesendet: Dienstag, 6. Mai 2008 08:00
An: Log4NET User
Betreff: RE: log4net configuration withtou Xml file


Hello Bruno,
configuring log4net directly from the code is my dream too, but documentation did not give
any example how to do this.
It is simple if you need to use the only appender - use BasicConfigurator:
 
   log4net.Appender.FileAppender fa = new log4net.Appender.FileAppender();
   fa.AppendToFile = false;
   fa.File = "ipagent.log";
   fa.Layout = new log4net.Layout.PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff} %5level [%2thread]
%message (%logger{1}:%line)%n");
   fa.Threshold = log4net.Core.Level.Debug;
   fa.ActivateOptions();
   log4net.Config.BasicConfigurator.Configure(fa);
 
I have this tested and it works well. But when configuration is more complex, I didn't found
a way how to make logging to work. Look at this message http://www.mail-archive.com/log4net-user@logging.apache.org/msg03890.html,
there you find a piece of my (nonworking) code.
If you'll be able to find what is missing there, let me know
 
Radovan Raszka


  _____  

From: Knittel Bruno [mailto:Bruno.Knittel@bruker-biospin.de] 
Sent: Monday, May 05, 2008 9:32 AM
To: log4net-user@logging.apache.org
Subject: log4net configuration withtou Xml file


Hello Everyone,
 
    I need to be able to configure log4net without the XmlConfigurator, that is directly from
my code.
    I am aware of the BasicConfigurator but one appender is not enough for me.
 
    I would like to be able to create some new appenders, remove (or disable) them and change
their
    log threshold at runtime. I am working under Compact Framework 2.0.
 
    I already took a look at this ( http://www.mail-archive.com/log4net-user@logging.apache.org/msg02895.html
) mail that gave me many informations,
    but did not yet found how to create an appender and register it not for one logger but
for all (and all the ones that will be created after I registered my appender).
 
    In fact how can I achieve a configuration like the following file but programmatically:
 
    <configuration>
 <log4net>  
  <appender name="TextLogFileAppender" type="log4net.Appender.FileAppender" >
   <file value="log.xml" />
   <appendToFile value="true" />
   <layout type="log4net.Layout.XmlLayoutSchemaLog4j" />
   <param name="Threshold" value="ERROR" />
  </appender>
  
  <appender name="ConsoleErrorAppender" type="log4net.Appender.ConsoleAppender">
   <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt;
- %message%newline" />
   </layout>
   <param name="Threshold" value="FATAL" />
  </appender>
  
  <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
   <localPort value="8080" />
   <remoteAddress value="192.168.1.1" />
   <remotePort value="8080" />
   <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
    <locationInfo value="true" />
   </layout>
   <param name="Threshold" value="DEBUG" />
  </appender>
 
  <!-- Setup the root category, add the appenders and set the default level -->  
  <root>
   <appender-ref ref="TextLogFileAppender" />
   <appender-ref ref="ConsoleErrorAppender" />
   <appender-ref ref="UdpAppender" />
  </root> 
 </log4net>
</configuration>
 
 
    Best regards and many thanks in advance for any help,
 
    Bruno
 


Mime
View raw message