【发布时间】:2016-07-27 05:55:58
【问题描述】:
我已经创建了如下的 log4net 包装类
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);
}
}
}
我在控制器类中调用包装方法
Logger obj=new Logger();
obj.MyMethod("Constructor of AccountController class called.");
我在 webconfig 中将布局模式定义为
<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>
按照我期望遵循日志的模式
2016-07-27 10:12:48,480,e:\MyProject\Controllers\AccountController.cs(24), [INFO ],调用 AccountController 类的构造函数。
但我得到了
2016-07-27 10:12:48,480,e:\MyProject\Infrastructure\Utilities\Logger.cs(15), [INFO ], AccountController 类的构造函数被调用。
文件名和行号我都弄错了。我错过了什么。
【问题讨论】:
标签: c# asp.net-mvc-4 log4net