• log4 配置日期为滚动类型(每天产生一个日志文件)


    控制台:

    App.config,log4的配置,同时要在E:MyWorklog4日志测试   建立对应文文件夹存放log文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
        <!--log4net组件-->
      </configSections>
      <log4net>
        <root>
          <!--从高到低的七个级别:OFF,FATAL,RROR,WARN,INFO,DEBUG,ALL-->
          <level value="ALL"/>
        </root>
        <!--配置程序报错专用-->
        <logger name="testLog">
          <level value="ALL"/>
          <appender-ref ref="testLogApp"/>
        </logger>
        <appender name="testLogApp" type="log4net.Appender.RollingFileAppender, log4net">
          <!--日志路径-->
          <param name="File" value="E:MyWorklog4日志测试"/>
          <!--日期为滚动类型(每天产生一个日志文件)-->
          <param name="RollingStyle" value="Date"/>
          <!--追加方式-->
          <param name="AppendToFile" value="true"/>
          <!--日志文件名-->
          <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
          <!--关闭固定文件方式-->
          <param name="StaticLogFileName" value="false"/>
          <!--记录格式-->
          <layout type="log4net.Layout.PatternLayout, log4net">
            <!--%m:消息内容-->
            <!--%n:换行-->
            <!--%d:输出时间-->
            <!--%p:级别-->
            <!--%c:类名-->
            <!--%F:文件名-->
            <param name="ConversionPattern" value="[%d] %p - %m%n"/>
          </layout>
          <!--过滤器-->
          <filter type="log4net.Filter.LevelRangeFilter, log4net">
            <param name="LevelMin" value="ALL"/>
            <param name="LevelMax" value="OFF"/>
          </filter>
        </appender>
      </log4net>
    
      <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
    </configuration>

    Program:

            static void Main(string[] args)
            {
                log4net.Config.DOMConfigurator.Configure(); //不加这句话日志不会生成
                log4net.ILog testLog = log4net.LogManager.GetLogger("testLog");
                try
                {
                    throw new ApplicationException("测试log4,我是控制台抛出的异常!!");
                }
                catch (Exception ex)
                {
                    testLog.Info("******************************* begin static void Main(string[] args)程序异常 ********************************************");
                    testLog.Info(ex);
                    testLog.Info("******************************* end static void Main(string[] args)程序异常 ********************************************");
    
                }
            }

    结果:

    webform程序配置

    web.config

    <?xml version="1.0" encoding="utf-8"?>
    <!--
      有关如何配置 ASP.NET 应用程序的详细信息,请访问
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
        <!--log4net组件-->
      </configSections>
      <log4net>
        <root>
          <!--从高到低的七个级别:OFF,FATAL,RROR,WARN,INFO,DEBUG,ALL-->
          <level value="ALL"/>
        </root>
        <!--配置程序报错专用-->
        <logger name="testLog">
          <level value="ALL"/>
          <appender-ref ref="testLogApp"/>
        </logger>
        <appender name="testLogApp" type="log4net.Appender.RollingFileAppender, log4net">
          <!--日志路径-->
          <param name="File" value="E:MyWorklog4日志测试"/>
          <!--日期为滚动类型(每天产生一个日志文件)-->
          <param name="RollingStyle" value="Date"/>
          <!--追加方式-->
          <param name="AppendToFile" value="true"/>
          <!--日志文件名-->
          <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
          <!--关闭固定文件方式-->
          <param name="StaticLogFileName" value="false"/>
          <!--记录格式-->
          <layout type="log4net.Layout.PatternLayout, log4net">
            <!--%m:消息内容-->
            <!--%n:换行-->
            <!--%d:输出时间-->
            <!--%p:级别-->
            <!--%c:类名-->
            <!--%F:文件名-->
            <param name="ConversionPattern" value="[%d] %p - %m%n"/>
          </layout>
          <!--过滤器-->
          <filter type="log4net.Filter.LevelRangeFilter, log4net">
            <param name="LevelMin" value="ALL"/>
            <param name="LevelMax" value="OFF"/>
          </filter>
        </appender>
      </log4net>
      
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
      </system.web>
    </configuration>

    log4net.Config.DOMConfigurator.Configure();//这句注册的语句最好写在Global.asax全局访问类里,webform程序不写在里面每个页面都要写。

    Global:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.SessionState;
    
    namespace log4.test.Webform
    {
        public class Global : System.Web.HttpApplication
        {
            protected void Application_Start(object sender, EventArgs e)
            {
                log4net.Config.DOMConfigurator.Configure(); 
            }
        }
    }

    WebForm1.aspx:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="log4.test.Webform.WebForm1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="btnsave" runat="server" Text="testLog4" OnClick="btnsave_Click" />
        </div>
        </form>
       
    </body>
    </html>
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace log4.test.Webform
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
            protected readonly log4net.ILog testLog = log4net.LogManager.GetLogger("testLog");
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void btnsave_Click(object sender, EventArgs e)
            {
                try
                {
                    throw new ApplicationException("测试log4,我是webform抛出的异常!!");
                }
                catch (Exception ex)
                {
                    testLog.Info("******************************* begin btnsave_Click(object sender, EventArgs e)点击事件异常 ********************************************");
                    testLog.Info(ex);
                    testLog.Info("******************************* end btnsave_Click(object sender, EventArgs e)点击事件异常 ********************************************");
    
                }
            }
        }
    }

     

    源码下载

  • 相关阅读:
    [置顶] NO.4 使用预处理器进行调试
    VC用OLE方式读写Excel
    Eclipse 4.2 + Tomcat 7.x + JDK 7 搭建Java Web开发环境
    (step4.3.1) hdu 1010(Tempter of the Bone——DFS)
    linked-list-random-node
    insert-delete-getrandom-o1-duplicates-allowed
    C++中对Mysql的操作函数可以参考以下blog中的内容
    insert-delete-getrandom-o1
    kth-smallest-element-in-a-sorted-matrix
    combination-sum-iv
  • 原文地址:https://www.cnblogs.com/suntanyong88/p/4571005.html
Copyright © 2020-2023  润新知