webAPI中使用log4net进行日志记录
1.从nuget下载log4net
2.根据需求配置web.config,或者另外写一个log4net.config文件,各个节点的意义详细查询api
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径-->
<!--<param name="File" value="D:\ElevatorSystem\SafeElevator\SafeElevator\App_Log\servicelog\" />-->
<param name="File" value="App_Log\" />
<!--是否是向文件中追加日志-->
<param name="AppendToFile" value="true" />
<!--log保留天数-->
<param name="MaxSizeRollBackups" value="10" />
<!--日志文件名是否是固定不变的-->
<param name="StaticLogFileName" value="false" />
<!--日志文件名格式为:2008-08-31.log-->
<param name="DatePattern" value="yyyy-MM-dd".read.log"" />
<!--日志根据日期滚动-->
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n %loggername" />
</layout>
</appender>
<!--root是一个父级的logger,所有Logger列表的形式写在里面,相当于多个looger分开定义-->
<root>
<!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
<level value="all" />
<!--<appender-ref ref="ColoredConsoleAppender"/>-->
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
3.
在WebApiConfig.cs 中加上(也可以在global中加)
log4net.Config.XmlConfigurator.Configure(); //启用log4net配置
4.新增loghelper类
public class LogHelper
{
private static readonly log4net.ILog logger = log4net.LogManager.GetLogger("LogHelper");
public static void WriteLog(string msg)
{
logger.Info(msg);
}
}
4.调用
LogHelper.WriteLog("hello can you hear me~");
也可以将记录日志的操作写到过滤器里面,就不用每个api 都写一遍记录日志