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

控制台:

App.config,log4的配置,同时要在E:\MyWork\log4日志测试\   建立对应文文件夹存放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:\MyWork\log4日志测试\"/>
      <!--日期为滚动类型(每天产生一个日志文件)-->
      <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:\MyWork\log4日志测试\"/>
      <!--日期为滚动类型(每天产生一个日志文件)-->
      <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)点击事件异常 ********************************************");

            }
        }
    }
}

 

源码下载

转载于:https://www.cnblogs.com/suntanyong88/p/4571005.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
日志组件log4delphi与log4j、log4cpp如出一辙 1.安装:log4Delphi无需安装,直接解压包解压后放入任意目录(我的目录是:'D:/3rdlib/delphi/log4delphi-0.7)即可。 2.使用:在工程文件中引用解压包中src目录下所有的*.pas文件,如下: uses Forms, Unit1 in 'Unit1.pas' {Form1}, TAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TAppenderUnit.pas', TBDELogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TBDELogInserterUnit.pas', TConfiguratorUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TConfiguratorUnit.pas', TConsoleUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TConsoleUnit.pas' {TConsole}, TDBAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TDBAppenderUnit.pas', TDBLogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TDBLogInserterUnit.pas', TDBXLogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TDBXLogInserterUnit.pas', TErrorHandlerUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TErrorHandlerUnit.pas', TFileAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TFileAppenderUnit.pas', THTMLLayoutUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/THTMLLayoutUnit.pas', TIBXLogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TIBXLogInserterUnit.pas', TLayoutUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLayoutUnit.pas', TLevelUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLevelUnit.pas', TLoggerUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLoggerUnit.pas', TLoggingEventUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLoggingEventUnit.pas', TLogLogUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLogLogUnit.pas', TNullAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TNullAppenderUnit.pas', TOnlyOnceErrorHandlerUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TOnlyOnceErrorHandlerUnit.pas', TOptionConverterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TOptionConverterUnit.pas', TPatternLayoutUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TPatternLayoutUnit.pas', TPropert
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值