ASP.NET网站log4net记录

来源:互联网 发布:大凤号航空母舰知乎 编辑:程序博客网 时间:2024/06/05 21:26

项目的需求是,使用log4net记录,并且记录用户的登录信息及状态,要用户添加的,修改,删除的操作日志,然后,我使用每天4个文本来记录的日志


步骤:

1.配置文件

    protected void Application_Start(object sender, EventArgs e)      {          //读取配置文件   log4net          log4net.Config.XmlConfigurator.Configure();      }  


  

<span style="font-size:14px;"><configuration>    <configSections>     <!--log4net connection-->        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>    </configSections>  <!--log4net configuration  start -->    <log4net>        <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->        <!-- Set root logger level to ERROR and its appenders -->        <root>            <level value="INFO"/>         </root>        <logger name="SysLogin" >            <level value="INFO"/>             <appender-ref ref="SystemLogin"/>        </logger>         <logger name="SysAdd" >            <level value="INFO"/>             <appender-ref ref="SystemAdd"/>        </logger>        <logger name="SysUpdate" >            <level value="INFO"/>             <appender-ref ref="SystemUpdate"/>        </logger>        <logger name="SysDelete" >            <level value="INFO"/>             <appender-ref ref="SystemDelete"/>        </logger>          <!-- 这是记录登录信息 -->        <appender name="SystemLogin" type="log4net.Appender.RollingFileAppender,log4net">    <!-- 文件路径 -->            <param name="File" value="Log/Login/"/>            <param name="AppendToFile" value="true"/>            <param name="RollingStyle" value="Date"/>            <!--一个文件只存储1MB大小,超出自动创建新的-->            <param name="MaximumFileSize" value="1MB"/>            <param name="DatePattern" value=""Login_Logs_"yyyyMMdd".txt""/>            <!--是否只允许写于一个文件-->            <param name="StaticLogFileName" value="false"/>            <!--最小锁定模型以允许多个进程可以写入同一个文件-->            <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />            <layout type="log4net.Layout.PatternLayout,log4net">                <param name="ConversionPattern" value="%message %n"/>                <param name="Header" value=""/>                <param name="Footer" value=""/>            </layout>        </appender>        <!-- 这是记录添加 -->        <appender name="SystemAdd" type="log4net.Appender.RollingFileAppender,log4net">            <param name="File" value="Log/Operation/"/>            <param name="AppendToFile" value="true"/>            <param name="RollingStyle" value="Date"/>            <!--一个文件只存储1MB大小,超出自动创建新的-->            <param name="MaximumFileSize" value="1MB"/>            <param name="DatePattern" value=""MemberMng_Logs_"yyyyMMdd".txt""/>            <!--是否只允许写于一个文件-->            <param name="StaticLogFileName" value="false"/>            <!--最小锁定模型以允许多个进程可以写入同一个文件-->            <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock"/>            <layout type="log4net.Layout.PatternLayout,log4net">                <param name="ConversionPattern" value="%message %n"/>                <param name="Header" value=""/>                <param name="Footer" value=""/>            </layout>        </appender>         <!-- 这是记录修改 -->         <appender name="SystemUpdate" type="log4net.Appender.RollingFileAppender,log4net">            <param name="File" value="Log/Operation/"/>            <param name="AppendToFile" value="true"/>            <param name="RollingStyle" value="Date"/>            <!--一个文件只存储1MB大小,超出自动创建新的-->            <param name="MaximumFileSize" value="1MB"/>            <param name="DatePattern" value=""CustomerMng_Logs_"yyyyMMdd".txt""/>            <!--是否只允许写于一个文件-->            <param name="StaticLogFileName" value="false"/>            <!--最小锁定模型以允许多个进程可以写入同一个文件-->            <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock"/>            <layout type="log4net.Layout.PatternLayout,log4net">                <param name="ConversionPattern" value="%message %n"/>                <param name="Header" value=""/>                <param name="Footer" value=""/>            </layout>        </appender>  <!-- 这是记录删除 -->         <appender name="SystemDelete" type="log4net.Appender.RollingFileAppender,log4net">            <param name="File" value="Log/Operation/"/>            <param name="AppendToFile" value="true"/>            <param name="RollingStyle" value="Date"/>            <!--一个文件只存储1MB大小,超出自动创建新的-->            <param name="MaximumFileSize" value="1MB"/>            <param name="DatePattern" value=""CustomerMng_Logs_"yyyyMMdd".txt""/>            <!--是否只允许写于一个文件-->            <param name="StaticLogFileName" value="false"/>            <!--最小锁定模型以允许多个进程可以写入同一个文件-->            <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock"/>            <layout type="log4net.Layout.PatternLayout,log4net">                <param name="ConversionPattern" value="%message %n"/>                <param name="Header" value=""/>                <param name="Footer" value=""/>            </layout>        </appender>         <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">            <layout type="log4net.Layout.PatternLayout,log4net">                <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>            </layout>        </appender>    </log4net>    <!--log4net configuration  end --></configuration></span>


2.调用类

  

using log4net;[assembly: log4net.Config.XmlConfigurator(Watch = true)]namespace BLL{    /// <summary>    /// log4net记录类    /// </summary>    public class LogHelper    {         /// <summary>        /// 记录登录信息        /// </summary>          public static void WriteLogin(string message)        {            ILog loginfo = LogManager.GetLogger("SysLogin");            if (loginfo.IsInfoEnabled)            {                 loginfo.Info(message);            }         }        /// <summary>        /// 记录添加信息        /// </summary>          public static void WriteAdd(string message)         {            try            {                ILog loginLog = LogManager.GetLogger("SysAdd");                if (loginLog.IsInfoEnabled)                {                    loginLog.Info(message);                }            }            catch { }        }        /// <summary>        /// 记录修改信息        /// </summary>          public static void WriteModify(string message)         {            try            {                ILog memberMngLog = LogManager.GetLogger("SysUpdate");                if (memberMngLog.IsInfoEnabled)                {                    memberMngLog.Info(message);                }            }            catch { }        }        /// <summary>        /// 记录删除信息        /// </summary>         public static void WriteDelete(string message)        {            try            {                ILog customerLog = LogManager.GetLogger("SysDelete");                if (customerLog.IsInfoEnabled)                {                    customerLog.Info(message);                }            }            catch { }        }      }}

3.至于调用该类

   LogHelper.WriteLogin("登录成功!2015-03-31 登录人:admin");

   然后我们可以去项目根路径下找Log/Login/     就可以查看txt文件了

  


  

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝上买的东西发错了怎么办 淘宝上买的东西发多了怎么办 淘宝上买的东西出现问题怎么办 淘宝买东西未收到货显示签收怎么办 网上一张车票两人同时付款了怎么办 微信付款时显示银行卡被锁定怎么办 微信忘记支付密码怎么办没有银行卡 支付宝赏金扫码支付不行怎么办 网购收货时发现货物已破损怎么办 货物丢失了不承认调查出来了怎么办 小米商城已签收未收到了怎么办 网购的一只荷兰猪现在怎么办 中通快递的掌中通好评怎么办 唯品会快递被签收却没收到货怎么办 拼多多快递签收了但没收到货怎么办 顺丰代收签收成功要强制退款怎么办 淘宝付了钱如果商家没货了怎么办 别人拿走我的货不给钱怎么办 快递出途中损坏签单后才发现怎么办 顾客支付宝少付了钱人走了怎么办 顾客通过收钱码付的钱少了怎么办 寄顺丰快递收件人号码填错了怎么办 京东退货售后说是有划痕怎么办 手机上快递员软件签收错了怎么办 苹果手机进网许可证丢了怎么办 作废的普票发票联丢失怎么办 想退换货但是发票丢了怎么办 快递没有当面验货造成的丢件怎么办 退货卖家收货验货说有问题怎么办 没当着快递人员面验货少货怎么办 微信绑定的银行了被快捷支付怎么办 银行支付到微信支付里的钱怎么办 微信绑定银行忘支付密码忘了怎么办 微信桂林银行不可以支付怎么办 微信忘记支付密码和银行卡号怎么办 京东商城迟迟不通过退货审核怎么办 网上购物想退款商家要我拒收怎么办 运输公司对车主不买保险怎么办 苹果平板限制访问密码忘了怎么办 安卓手机忘了解锁密码怎么办 海之蓝扫码显示域名不对这是怎么办