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&quot;.read.log&quot;" />
      <!--日志根据日期滚动-->
      <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 都写一遍记录日志

上一篇:【Java随笔】LinkedHashMap can not be cast to XXX ?


下一篇:C:\\MFC控件大小随窗体大小而改变