I have created log4net wrapper class as follow
public class Logger : ILogger
{
private log4net.ILog _logger = log4net.LogManager.GetLogger(typeof(Logger));
public void MyMethod(object message, params object[] args)
{
if (args.Length == 0 || args == null)
{
_logger.Info(message);
}
else
{
_logger.InfoFormat(message.ToString(), args);
}
}
}
I call wrapper method in my controller class
Logger obj=new Logger();
obj.MyMethod("Constructor of AccountController class called.");
I have define layout pattern in webconfig as
<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<param name="File" value="C:\Log\My.log" />
<param name="AppendToFile" value="true"/>
<maximumFileSize value="500KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date,%file(%line), [%-5level],%message%newline" />
</layout>
</appender>
<root>
<level value="All" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
As per the pattern I am expecting following log
2016-07-27 10:12:48,480,e:\MyProject\Controllers\AccountController.cs(24), [INFO ],Constructor of AccountController class called.
But I am getting
2016-07-27 10:12:48,480,e:\MyProject\Infrastructure\Utilities\Logger.cs(15), [INFO ],Constructor of AccountController class called.
Filename and linenumber both I am getting wrong.What I am missing.