Initialising log4net logging for Asp.Net web app

Some snippet below:

protected void Application_Start(object sender, EventArgs e)
{
XmlConfigurator.Configure();

log4net.Repository.ILoggerRepository repo = LogManager.GetRepository();
foreach (log4net.Appender.IAppender appender in repo.GetAppenders())
{
if (appender.Name.CompareTo(“RollingFileAppender”) == 0 && appender is log4net.Appender.RollingFileAppender)
{
var appndr = appender as log4net.Appender.RollingFileAppender;
string logPath = “MyApplication.log”;
appndr.File = logPath;
appndr.ActivateOptions();
}
}

logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

var configSource = new XmlConfigurationSource(ActiveRecordConfigStream);

Assembly assy = typeof([ParentAssembly]).Assembly;
ActiveRecordStarter.Initialize(configSource, assy.GetTypes());

logger.Info(“My Application Starting…”);
}

Using SQL Server CROSS APPLY to read XML segment

Here is an interesting code snippet:

declare @XML xml
set @XML =’


select ExpressionAlias.student_name,
ExpressionAlias.subject_name,
ExpressionAlias.score
From @XML.nodes(‘./students/student’) Student (rowset)
Cross Apply
Student.rowset.nodes(‘./subjects/subject’) Subject (rowset)
Cross Apply (
Select Student.rowset.value(‘@name’,’NVARCHAR(20)’),
Subject.rowset.value(‘@name’,’NVARCHAR(20)’),
Subject.rowset.value(‘@score’,’INTEGER’)
) ExpressionAlias (student_name, subject_name,score)
Order By
ExpressionAlias.student_name ASC,
ExpressionAlias.score DESC;