log4net 使用总结- (1)在ASP.NET MVC 中使用
1. 去官网下载log4net.dll,增加引用到站点下(你也可以通过nuget 安装)
2. 在Web.config中增加配置(这里按日志文件输出)
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <!--定义输出到文件中--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="log\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyy-MM-dd'.txt'"/> <staticLogFileName value="false"/> <param name="MaxSizeRollBackups" value="100"/> <param name="Encoding" value="utf-8" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline %nDate:%date %nThread:[%thread] %nLevel: %-5level %nClass: %logger [%property{NDC}] %nMessage: %message%newline" /> </layout> </appender> <root> <level value="ALL"/> <!--文件形式记录日志--> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net>
3. 在控制器里面测试使用
public class HomeController : Controller { log4net.ILog log = log4net.LogManager.GetLogger(typeof(HomeController)); public ActionResult Index() { log.Info("test...."); return View(); } }
4. 注意配置这一步
按照上面的步骤,日志并不work,原因是在asp.net MVC 中,你的log4net 配置在web.config中
这里还需要增加一个启动时候寻找log4net 的配置。
需要在,站点的Properties 文件下,找到AssemblyInfo.cs,在最后追加
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
5.测试运行结果
另外,配置文件中有<param name="Encoding" value="utf-8" />,目的是防止有些情况下中文乱码问题。
个人签名:天行健,君子以自强不息