I suggest you create a wrapper for the log4net.
class wrapper
{
log4net.ILog log = .....
}
all of other dll include this wrapper, then it can be used in all other layers.
2008/3/17, Simon Tamman <[EMAIL PROTECTED]>:
> I'm not exactly a Log4Net expert but the call in the 2nd tier is static, this
> means if the userDAO object is ever referenced
> before log4net.Config.XmlConfigurator.Configure(); is run then it will try to
> get the ILog before it is ready.
> Have you tried making it non-static?
>
> Kind Regards
>
> Simon
>
> -----Original Message-----
> From: "João Felipe S. Pinto" [mailto:[EMAIL PROTECTED]
> Sent: 15 March 2008 01:39
> To: [email protected]
> Subject: ASP.NET 2.0 C# - Logging issues with multi layer app.
>
> Hello all,
>
> Hope this is an easy stuff to solve due to a newbies misconfig step or
> something.
>
> lemme introduce better my problem
>
> i'm developing a 2-tier app.
>
> tier 1 : Web Site
> tier 2: Data Access Layer
>
> i have the log4net config part on the web.config it self.
> here it is :
> ================================================================================
> <configuration>
> ...
> <configSections>
> <section name="log4net"
> type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
> </configSections> ....
> <log4net>
> <appender name="RollingLogFileAppender"
> type="log4net.Appender.RollingFileAppender">
> <file value="..\logs\log-file.txt" />
> <appendToFile value="true" />
> <datePattern value="yyyyMMdd" />
> <rollingStyle value="Date" />
> <layout type="log4net.Layout.PatternLayout">
> <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M -
> %m%n" />
> </layout>
> </appender>
> <root>
> <level value="ALL" />
> <appender-ref ref="RollingLogFileAppender" />
> </root>
> </log4net>
> ...
> <configuration>
> ================================================================================
> as well as the entry at global asax
> ================================================================================
> void Application_Start(object sender, EventArgs e)
> {
> log4net.Config.XmlConfigurator.Configure();
> }
> ================================================================================
>
> with this done i can perfectly log from the Tier 1(Web Site) here is an
> example:
> ================================================================================
> public partial class UsersList : System.Web.UI.Page {
> ....
> ILog log =
> LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
> ....
> log.Debug("Calling userDAO.GetAllUsers()"); ....
> }
> ================================================================================
> but when i try logging on the Tier 2, doesn't do anything at all, not even an
> error.
> ================================================================================
> public partial class userDAO : DAObase
> {
> private static readonly ILog log =
> LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
> .....
> public DataTable GetAllUsers(out string ErrMsg)
> {
> ErrMsg = String.Empty;
> cmd.CommandText = _queryGetAllUsers;
>
> log.Debug(MethodBase.GetCurrentMethod().Name + ":" + "Connecting
> to DB");
>
> cmd.Connection = conn.GetConn();
> .....
> }
> ......
> }
> ================================================================================
>
> --
> ::::: Now Playing: (Winamp is not active ;-)
>
> João Felipe Santoro Pinto<[EMAIL PROTECTED]>
>
> For more Info check my vCard attached
>
>
>
> --------------------------------------------------------------------
> *** This email may contain confidential information and/or copyright
> material. This email is intended for the use of the addressee only. Any
> unauthorized use may be unlawful. If you receive this email by mistake,
> please advise the sender immediately by using the reply facility in your
> email software. You should be aware that the contents of this email may be
> monitored to ensure compliance with the Wayfarer Transit Systems Ltd IT User
> policy. Wayfarer Transit Systems Limited, Registered in England & Wales no:
> 01232487. Registered Office:10 Willis Way, Fleets Industrial Estate, Poole,
> Dorset, BH15 3SS. ***
>