You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-user@logging.apache.org by Charles Carroll <ch...@gmail.com> on 2010/01/27 00:32:12 UTC
Re: Trying to invoke this wrapper while doing 200 other things
drawing a blank
I solved it:
ILogger blah = LogManager.GetLogger(typeof(System.String));
blah.Info("Hello");
Then I rewrote it to use an enum instead of discrete methods and just
two methods
WriteMsg(...);
WriteException(..);
enum MsgType
{
Debug,
Info,
Warn,
Error,
Fatal
}
On Tue, Jan 26, 2010 at 4:05 PM, Charles Carroll
<ch...@gmail.com> wrote:
> Lets say I want to invoke this like (look for line labelled // does not work)...
>
> Usually I have no trouble I am just drawing a blank and multitasking badly....
>
>
> using System;
> using System.Collections.Generic;
> using System.Linq;
> using System.Text;
> using Test.Logger;
>
> namespace ConsoleApplication1
> {
> class LoggingTest
> {
> static void Main(string[] args)
> {
> Console.Write("Hello");
> ILogger log = LogManager.GetLogger("testing blah"); //
> does not work
> log.Info("{0}","Hello Logger");
> Console.ReadKey();
> }
> }
>
>
>
> Here is the wrapper (yeah the Debug.Writes will go away and be
> replaced with log4net calls in 30 minutes just want to get calling
> syntax for this wrapper now...
>
>
> using System;
> using System.Collections.Generic;
> using System.Linq;
> using System.Text;
> using System.Diagnostics;
> using System.IO;
> using log4net;
>
> namespace Test.Logger
> {
>
> public interface ILogger
> {
>
> void Debug(string format, params object[] args);
> void Info(string format, params object[] args);
> void Warn(string format, params object[] args);
> void Error(string format, params object[] args);
> void Fatal(string format, params object[] args);
>
> void Debug(string format, Exception exception, params object[] args);
> void Info(string format, Exception exception, params object[] args);
> void Warn(string format, Exception exception, params object[] args);
> void Error(string format, Exception exception, params object[] args);
> void Fatal(string format, Exception exception, params object[] args);
>
> bool IsDebugEnabled
> {
> get;
> }
> bool IsInfoEnabled
> {
> get;
> }
> bool IsWarnEnabled
> {
> get;
> }
> bool IsErrorEnabled
> {
> get;
> }
> bool IsFatalEnabled
> {
> get;
> }
>
> }
>
> public sealed class LogManager
> {
>
> public static void Configure(FileInfo configFile)
> {
>
> if (configFile == null)
> {
> throw new System.ArgumentNullException("configFile");
> }
>
> System.Diagnostics.EventLog.WriteEntry(string.Format("{0}.LogManager",
> Process.GetCurrentProcess().ProcessName), string.Format("Configuring
> logging using configuration file {0}", configFile.FullName));
>
> log4net.Config.XmlConfigurator.ConfigureAndWatch(configFile);
>
>
> GetLogger(typeof(LogManager)).Debug("Configured logging
> using configuration file {0}", configFile.FullName);
> }
>
> public static ILogger GetLogger(System.Type type)
> {
> log4net.ILog logger =
> log4net.LogManager.GetLogger(System.Reflection.Assembly.GetCallingAssembly(),
> type);
> return new Log4NetAdapter(logger);
> }
>
> }
>
> internal class Log4NetAdapter : ILogger
> {
>
> private ILog _inner;
>
> internal Log4NetAdapter(ILog log4netLogger)
> {
> _inner = log4netLogger;
> }
>
> public void Debug(string format, params object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format,args));
> }
> public void Info(string format, params object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args));
> }
> public void Warn(string format, params object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args));
> }
> public void Error(string format, params object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args));
> }
> public void Fatal(string format, params object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args));
> }
>
> public void Debug(string format, Exception exception, params
> object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args)
> + exception.Message);
> }
>
> public void Info(string format, Exception exception, params
> object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args)
> + exception.Message);
> }
>
> public void Warn(string format, Exception exception, params
> object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args)
> + exception.Message);
> }
>
> public void Error(string format, Exception exception, params
> object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args)
> + exception.Message);
> }
>
> public void Fatal(string format, Exception exception, params
> object[] args)
> {
> System.Diagnostics.Debug.Write(string.Format(format, args)
> + exception.Message);
> }
>
> public bool IsDebugEnabled { get; set; }
>
> public bool IsInfoEnabled { get; set; }
>
> public bool IsWarnEnabled { get; set; }
>
> public bool IsErrorEnabled { get; set; }
>
> public bool IsFatalEnabled { get; set; }
>
> } // end Log4NetAdapter
>
> } // end namespace
>