zoukankan      html  css  js  c++  java
  • 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)点击事件异常 ********************************************");
    
                }
            }
        }
    }

     

    源码下载

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/suntanyong88/p/4571005.html
Copyright © 2011-2022 走看看