配置log4net写日志到文件

Laughing
2017-08-06 / 1 评论 / 1,202 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年04月27日,已超过1361天没有更新,若内容或图片失效,请留言反馈。

所有的项目都离不开日志记录功能,log4net是一个功能强大的日志组件,log4net支持将日志写到文件或者写到数据库中。这篇文章,我们主要介绍简单的,将日志写入到文件中。

环境安装

现在做.net的基本都是使用nuget了吧,安装方法页很简单,直接在nuget包管理器中搜索log4net,然后安装即可。

配置文件

为了保证项目的整洁性,我们建议将log4net的配置文件,放到单独的config文件中,我们可以将log4net的配置文件,放到网站根目录的log4net.config文件中,config文件配置如下

<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
    <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 %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>-->  
                <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>  
</configuration>

是配置生效

我们可以把配置文件放到AssemblyInfo.cs文件中,也可以放到其他在调用日志方法之间的任意一个类的命名空间之上。我这里放到了Gloabal.asax.cs文件中的。

using System.Web;  
using System.Web.Mvc;  
using System.Web.Routing;  
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]  
namespace MVCDemo.WebUI  
{  
    public class Global : HttpApplication  
    {  
        protected void Application_Start()  
        {  
            AreaRegistration.RegisterAllAreas();  
            RouteConfig.RegisterRoutes(RouteTable.Routes);  
        }  
    }  
}

使用方法

使用方法非常简单,直接初始化ILog接口,然后调用方法写入日志即可

log4net.ILog log = log4net.LogManager.GetLogger(typeof(HomeController));  
        public ActionResult Index()  
        {  
            log.Warn("test...");  
            return View ();  
        }  
0

评论 (1)

取消
  1. 头像

    […] 前一篇我们介绍了log4net写日志到文件的方法,具体可以参考。  配置log4net写日志到文件,这一篇我们继续介绍log4net写日志到数据库的方法。 […]

    回复
  2. 头像

    […] 前一篇我们介绍了log4net写日志到文件的方法,具体可以参考。  配置log4net写日志到文件,这一篇我们继续介绍log4net写日志到数据库的方法。 […]

    回复
  3. 头像
    azdfs123123
    MacOS · Google Chrome

    中国也不一定要中文12312312

    回复
  4. 头像
    tt
    MacOS · Google Chrome

    找了很久 414

    回复