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 David Thielen <da...@windward.net> on 2005/09/21 05:10:27 UTC

Asking again: Trying to write a J# log wrapper - mostly there

Hi;

Is there someone out there who knows log4net well enough to answer this? I'd
like to get this complete so I can then offer it to the jakarta logging
group - I think other J# developers could use this.

Or somewhere else I should ask?

Thanks - dave


-----Original Message-----
From: David Thielen [mailto:david@windward.net] 
Sent: Monday, September 19, 2005 9:43 AM
To: 'Log4NET User'
Subject: RE: Trying to write a J# log wrapper - mostly there

Hi;

I think this is the same thing - giving the filename/line number of the
Logger.jsl wrapper instead of the calling method.

??? - thanks - dave


-----Original Message-----
From: Ron Grabowski [mailto:rongrabowski@yahoo.com] 
Sent: Friday, September 16, 2005 2:27 PM
To: Log4NET User
Subject: RE: Trying to write a J# log wrapper - mostly there

Here's the VS2003 solution for those that are interested:

 http://www.ronosaurus.com/log4net/2005-09-16_JSharpWrapper_VS2003.zip

I play with it more over the weekend. This solution doesn't feel very
elegant. I wonder if there isn't a better way to go about solvin the
problem...

--- David Thielen <da...@windward.net> wrote:

> Yep - that's it.
> 
> What I want to have happen is for the output right after "between",
> where it
> is called from my Logger.jsl to be identical to the first output
> (except for
> the line number).
> 
> So that the logging gives the file/line that called my log.error()
> rather
> than the file/line in Logger.jsl.
> 
> Does that make sense?
> 
> Thanks - dave
> 
> 
> -----Original Message-----
> From: Ron Grabowski [mailto:rongrabowski@yahoo.com] 
> Sent: Friday, September 16, 2005 1:51 PM
> To: Log4NET User
> Subject: RE: Trying to write a J# log wrapper - mostly there
> 
> I'm not using VS2005 :(
> 
> I changed the project over to VS2003 and was able to generate this
> screen shot:
> 
>  http://www.ronosaurus.com/log4net/2005-09-16_jsharp_and_log4net.png
> 
> Does that exhibit the behavior your experiencing? Should there not be
> question marks for the last two messages?
> 
> --- David Thielen <da...@windward.net> wrote:
> 
> > Hi;
> > 
> > I put the zip file up on http://www.windward.net/log4j4net.ZIP -
> > anyone is
> > welcome to look at it, I'm giving it to the apache logging group if
> > they
> > want it once I'm done.
> > 
> > Look for the bugbug comments. Also, there is a project
> > WindwardReports in
> > the solution, but I did not include it as it's not needed. So just
> > delete
> > that project.
> > 
> > Thanks - dave
> > 
> > 
> > -----Original Message-----
> > From: Ron Grabowski [mailto:rongrabowski@yahoo.com] 
> > Sent: Friday, September 16, 2005 12:49 PM
> > To: Log4NET User
> > Subject: Re: Trying to write a J# log wrapper - mostly there
> > 
> > Unless someone has a better idea, I think your best bet is to make
> a
> > very very simple J# console app that demonstrates your problem and
> > make
> > it available for download somewhere (or email me off list) so we
> can
> > play around with it. Perhaps zip containing a directory with the
> > necessary files and the .sln file? Don't forget to include the
> > necessary .jar files (log4j.jar ???)
> > 
> > --- David Thielen <da...@windward.net> wrote:
> > 
> > > Hi;
> > > 
> > >  
> > > 
> > > I am writing a J# wrapper around log4net. I am doing this by
> > > implementing
> > > the public classes in log4j using it's package/names so my java
> > code
> > > is
> > > common source between java and J#.
> > > 
> > >  
> > > 
> > > I have it working except it uses the file name & line number from
> > my
> > > Logger.jsl instead of the app that calls my logger.
> > > 
> > >  
> > > 
> > > I can't inherit from LoggerWrapperImpl because that is a C#
> class.
> > > (Would be
> > > cool if you could do that.)
> > > 
> > >  
> > > 
> > > So I did the following:
> > > 
> > >  
> > > 
> > > public class Logger
> > > 
> > > {
> > > 
> > >       private log4net.ILog log;
> > > 
> > >       private Logger(Class appClass)
> > > 
> > >       {
> > > 
> > >             log =
> > > log4net.LogManager.GetLogger(Class.ToType(appClass));
> > > 
> > >       }
> > > 
> > >       public void error(Object message)
> > > 
> > >       {
> > > 
> > >             log.Error(message);
> > > 
> > >       }
> > > 
> > > }
> > > 
> > >  
> > > 
> > > Which works fine, but has the filename/line number problem. So I
> > then
> > > tried:
> > > 
> > >       public void error(Object message)
> > > 
> > >       {
> > > 
> > >             ((log4net.Core.LogImpl)log).get_Logger().Log(type,
> > > log4net.Core.Level.Error, "again" + message, null);
> > > 
> > >       }
> > > 
> > >  
> > > 
> > > Which gave the app domain as the filename and 0 as the line
> number.
> > > 
> > >  
> > > 
> > > So...
> > > 
> > >  
> > > 
> > > Any suggestions on what to try next?
> > > 
> > >  
> > > 
> > > Thanks - dave
> > > 
> > >  
> > > 
> > > 
> > 
> > 
> > 
> 
> 
> 
>