zoukankan      html  css  js  c++  java
  • log4net for web快速入门

    园子里翻了一些文章,大多语焉不详,或许我没有仔细了解。

    现在终于调通了,加入了log4net自身的调试信息。可以查看log4net不输出日志的问题。

    这是项目中实际的web.config文件。

    建一个页面,贴入下面的代码就可以了,配置一下Global.asax就可以了。

    自己撞了半天的墙,经验贴出来,希望能给大家帮助!自己也留个爪,备忘!

    例子主要演示了:

    1:把log文件存入到指定目录(很多例子是..\log\logfile,验证不对,应该是:..\\log\\logfile)

    2:按日期生成Log文件

    3:log4net自身的debug

    log4net为 1. 2. 0. 30714

    实际中碰到个问题,用发布的项目不能写log,把本地的代码全部复制过去,就可以写了,不明白

    Global.asax

    <%@ Application Language="C#" %>

    <script runat="server">

        void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup
             log4net.Config.DOMConfigurator.Configure();

        }
        void Application_End(object sender, EventArgs e)
        {
            //  Code that runs on application shutdown

        }
        void Application_Error(object sender, EventArgs e)
        {
            // Code that runs when an unhandled error occurs

        }

        void Session_Start(object sender, EventArgs e)
        {
            // Code that runs when a new session is started

        }

        void Session_End(object sender, EventArgs e)
        {
            // Code that runs when a session ends.
            // Note: The Session_End event is raised only when the sessionstate mode
            // is set to InProc in the Web.config file. If session mode is set to StateServer
            // or SQLServer, the event is not raised.

        }
    </script>

    default.aspx

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            log4net.ILog logger = log4net.LogManager.GetLogger(this.GetType());
            logger.Debug("this is test!"); 
        }
    }

     

    web.config

    <?xml version="1.0" encoding ="utf-8"?>
    <!--
        Note: As an alternative to hand editing this file you can use the
        web admin tool to configure settings for your application. Use
        the Website->Asp.Net Configuration option in Visual Studio.
        A full list of settings and comments can be found in
        machine.config.comments usually located in
        \Windows\Microsoft.Net\Framework\v2.x\Config
    -->
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
      </configSections>
      <!-- *************程序运行日志部分 ********************-->
      <log4net debug="true">
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
           <file value="..\\log\\logfile" />
           <appendToFile value="true" />     
           <maxSizeRollBackups value="10" />
           <maximumFileSize value="2MB" />
          <!--名称是否可以更改 为false为可以更改-->
          <param name="StaticLogFileName" value="false" />
          <!--文件名称-->
          <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
          <param name="RollingStyle" value="Composite" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%r] [%t] %-5p %c  - %m%n------------------------------%n" />
          </layout>
        </appender>
        <root>
          <level value="debug" />
          <appender-ref ref="RollingLogFileAppender" />
        </root>
      </log4net>
      <!-- *************程序配置项设置部分 ********************-->
      <appSettings>
         

        <!--log4net self-->
          <add key="log4net.Internal.Debug" value="true" />
      </appSettings>
     
          <system.web>

        <!--
                Set compilation debug="true" to insert debugging
                symbols into the compiled page. Because this
                affects performance, set this value to true only
                during development.
            -->
        <compilation debug="true"/>
        <!--
                The <authentication> section enables configuration
                of the security authentication mode used by
                ASP.NET to identify an incoming user.
            -->
        <authentication mode="Windows"/>
        <!--
                The <customErrors> section enables configuration
                of what to do if/when an unhandled error occurs
                during the execution of a request. Specifically,
                it enables developers to configure html error pages
                to be displayed in place of a error stack trace.

            <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
      </system.web>
      <system.diagnostics>
        <trace autoflush="true">
          <listeners>
            <add name="textWriterTraceListener"   type="System.Diagnostics.TextWriterTraceListener"  initializeData="C:\Inetpub\wwwroot\log4.txt" />
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>

  • 相关阅读:
    h5 与原生 app 交互的原理
    软件公司各种角色透视图
    软件公司各种角色透视图
    软件公司各种角色透视图
    3大原则让你的编程之路越走越顺
    LeetCode[39]: 组合总和
    20190826
    Oracle介绍
    Welcome to Giyber Blog
    清醒
  • 原文地址:https://www.cnblogs.com/Alvin/p/1459618.html
Copyright © 2011-2022 走看看