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 都寫一遍記錄日志