1. 程式人生 > >webform C# log4net不起作用 5種 原因

webform C# log4net不起作用 5種 原因

第二次配置log4net,作為記錄吧。

至少有一個類檔案中包含:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

在名稱空間上面。

1、假設你引用ok,

2、web.config配置Ok,形如:

<?xml version="1.0"?>
<!--
    注意: 除了手動編輯此檔案以外,您還可以使用
    Web 管理工具來配置應用程式的設定。可以使用 Visual Studio 中的
     “網站”->“Asp.Net 配置”選項。
    設定和註釋的完整列表在
    machine.config.comments 中,該檔案通常位於
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>

    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"  />
        <!--<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />-->
    </configSections>
    
    <log4net>
        <!--<appender name="OracleAppender" type="log4net.Appender.OracleAppender">-->
        <appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
            <bufferSize value="1" />

            <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient" />
            <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient" />

            <connectionString value="DATA SOURCE=ORCL;USER ID=AAA;PASSWORD=AAA"/>
            <commandText value="INSERT INTO LOG4NET (LOG_ID, LOG_DATE, LOG_LEVEL, LOG_IDENTITY, LOG_MESSAGE, LOG_EXCEPTION, LOG_LOGGER, LOG_SOURCE) VALUES (LOG4NET_SEQ.nextval, :log_date, :log_level, :log_identity, :log_message, :log_exception, :logger, :source)" />
            <parameter>
                <parameterName value=":log_date" />
                <dbType value="DateTime" />
                <layout type="log4net.Layout.RawTimeStampLayout">
                    <conversionPattern value="%d{yyyy/MM/dd HH:mm:ss}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value=":log_level" />
                <dbType value="String" />
                <size value="10" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%level" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value=":log_identity" />
                <dbType value="String" />
                <size value="100" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%identity" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value=":log_message" />
                <dbType value="String" />
                <size value="4000" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%m" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value=":log_exception" />
                <dbType value="String" />
                <size value="4000" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%exception" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value=":logger" />
                <dbType value="String" />
                <size value="255" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%logger" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value=":source" />
                <dbType value="String" />
                <size value="1000" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%file:%line" />
                </layout>
            </parameter>
        </appender>

        <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="Log\\" />
            <param name="AppendToFile" value="true" />
            <param name="MaxFileSize" value="10240" />
            <param name="MaxSizeRollBackups" value="100" />
            <param name="StaticLogFileName" value="false" />
            <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
            <param name="RollingStyle" value="Date" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%n日誌時間:%d [%t] %n日誌級別:%-5p %n日 志 類:%c [%x] %n%m %n" />
            </layout>
        </appender>

        <logger name="loginfo">
            <level value="INFO" />
            <appender-ref ref="InfoAppender" />
        </logger>

        <logger name="AdoNetAppender_Oracle">
            <level value="INFO"/>
            <appender-ref ref="AdoNetAppender_Oracle" />
        </logger>

        <root>
            <level value="All"/>
            <appender-ref ref="AdoNetAppender_Oracle"/>
            <appender-ref ref="InfoAppender"/>
        </root>
    </log4net>

    
    <connectionStrings/>
        <system.web>
            <!--
            設定 compilation debug="true" 將除錯符號插入
            已編譯的頁面中。但由於這會
            影響效能,因此只在開發過程中將此值
            設定為 true。
        -->
            <compilation debug="false"/>
            <!--
            通過 <authentication> 節可以配置 ASP.NET 使用的
            安全身份驗證模式,
            以標識傳入的使用者。
        -->
            <authentication mode="Windows"/>

        </system.web>

        <system.diagnostics>
            <trace autoflush="true"   >

                <listeners>

                    <add name="textWriteTraceListener"
                         type="System.Diagnostics.TextWriterTraceListener"
                         initializeData="C:\TEMP\log4net.txt" />
                </listeners>
            </trace>

        </system.diagnostics>

    <appSettings>
        <add key="BJ_SHOP" value="BJ002,BJ003,BJJC,HF001,HZ001,SH001"/>

        <add key="log4net.Internal.Debug" value="true "/>

    </appSettings>
    
</configuration>


3、Global.asax檔案中包含如下語句:

    void Application_Error(object sender, EventArgs e)
    {
        // 在出現未處理的錯誤時執行的程式碼
        Exception objErr = Server.GetLastError().GetBaseException();
        log4net.ILog log = log4net.LogManager.GetLogger(Request.Url.ToString());
        log.ErrorFormat("發生異常頁:{0}<br>異常資訊{1}<br>source:{2}", Request.Url.ToString(), objErr.Message, objErr.StackTrace);
        Server.ClearError();

    }

4、靜態類檔案包含,程式執行前生成:

       public static log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

5、就是在在最上面說的:

至少有一個靜態類檔案中包含:

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 啟動物件。

在名稱空間上面。


相關推薦

webform C# log4net作用 5 原因

第二次配置log4net,作為記錄吧。 至少有一個類檔案中包含: [assembly: log4net.Config.XmlConfigurator(Watch = true)]在名稱空間上面。 1、假設你引用ok, 2、web.config配置Ok,形如: <?x

導致spring事務配置作用的一原因

red something 事務配置 nbsp oid -s color con bsp @Component public class AnalyticsApplication { @Autowired private InitializationAc

Spring 事務作用的幾情況

service() true bean 每次 語句 imp 作用 stc current 1:必須是runtime異常,方法不要有try catch語句。 2:service 中 @Service() public class AServiceImpl1 imple

jquery外掛select2事件作用(select2-3.5.4)

jquery外掛select2事件不起作用 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g

height:100%; 作用的四解決方法,子級溢位來父級卻沒有撐開

專案中遇到一個問題: 父級高度是auto,子級高度100%但是元素卻無法撐滿,總結了一下有下面三種方法,親測有效: 1:給父元素設為塊級並加固定高度 2: 父元素height:auto; overflow:hidden; 3: 不苛求相容性的話父級dis

為什麼IIS7/7.5的Gzip作用

我在IIS7配置Gzip壓縮一文中介紹了IIS7對於gzip壓縮的相關配置,以及預設情況下,由於IIS7將Javascript配置為動態壓縮(Dynamic Compression),受CPU還有其他因素的影響,不一定會返回gzip壓縮後的內容。 但是前陣子發現,

Spring管理的bean初始化方法的三方式,以及@PostConstruct作用原因

1:Spring 容器中的 Bean 是有生命週期的,spring 允許 Bean 在初始化完成後以及銷燬前執行特定的操作。下面是常用的三種指定特定操作的方法: 通過實現InitializingBean/DisposableBean 介面來定製初始化之後/銷燬之前的操作

textArea中的placeholder屬性作用

問題 img tex text tro pan str ext textarea 問題描述: textarea中加的placeholder屬性有給值,但是在jsp頁面中沒有對應的提示信息顯示,如下圖所示: 原因: <textarea>與</texta

AutoCAD 許可管理器作用,或未正確安裝,現在將關閉

選擇 分享 log eight src ref 問題 通過 重新安裝 問題描述 重新安裝了也還是這樣,而且第二次打開都跳不出申請碼界面就關閉了。 問題原因,初步認為:AutoCAD 在首次彈出申請激活類型的類型時,直接選擇了網絡激活,而且沒有激活成功。再

SpringBoot學習遇到的問題(1) - 配置文件有日誌的debug模式等配置項,為什麽作用

boot lease bug fig spa stack 不起作用 網站 cat 這個問題困擾我近乎兩天,通過查找N多資料後終於解決,寫下來共享給大家。 logging.level.root=DEBUG ... 一系列的日誌配置項,都不起作用的原因是springboot啟動

left outer join的on作用

oci join microsoft nbsp mysq soft sel asp msdn left outer join的on不起作用 https://msdn.microsoft.com/zh-cn/library/ms177634.aspx?f=255&am

CSS 中first-child和last-child作用原因

clas 第一個 元素 col 沒有 XML last 發的 n) 今天開發的時候,發現last-child不起作用,看了下原因順便給自己學習CSS選擇器,我們這裏舉個例子,如下代碼:<div><h1>title</h1> <p&g

鼠標滾輪圖片放大縮小功能,使用layer彈框後作用

src con ext 顯示 想是 它的 max msg 隨著 今天在項目中遇到的一個問題:點擊按鈕使用layer彈框彈出一張圖片,需要加一個鼠標滾輪放大縮小,圖片也跟著放大縮小的功能。於是在網上找了一個demo。 DEMO: 1 <!DOCTYPE html P

vue雙向綁定時添加.sync作用原因

component 2.0 雙向 例子 不同 版本 name 但是 vue <my-component v-bind:my-name.sync="name" v-bind:my-age.sync="age"></my-component> 以上代碼是

ios微信瀏覽器click事件作用的解決方法

ont func 手機 alert 微信 搜索 pan font js代碼 $(document).on( "click", ".weui_cell", functi

Linux下,PHP的SESSION作用的問題

lin mod data article trac ack tracking track rac 改動SESSION目錄的權限就能夠了。 先找到SESSION目錄, 然後 chmod -R 777 /var/lib/php/session 假設沒有此目錄

Custom Email Attribute在客戶端作用原因

con tcl messages 原因 attribute clas nat a-z ble 原文發布時間為:2011-07-16 —— 來源於本人的百度文章 [由搬家工具導入]Custom Email Attribute在客户&#

angular4實戰開發問題——ngclass作用

解決 就會 當我 項目 click clas 定義 刷新 樣式 由於路由機制會導致頁面不刷新。 在項目中,很多都是使用click做的路由跳轉。ngclass有時候會不起作用, 這個時候我是很盲目的,一開始在考慮是不是書寫的問題。ngclass需要有特定的格式?第一個參數為類

安裝jdk配置環境變量JAVA_HOME作用

命令行 問題解決 .com top home 用戶 裝系統 img 環境變量 今天重新安裝系統,需要裝jdk,配置環境變量,於是先配置JAVA_HOME D:\Program Files\Java\jdk1.8.0_144, 然後在配置path路徑,但是cmd到dos命令

過濾器Filter在配置文件中作用

-c 文件夾 -name 都是 文件中 不起作用 gin utl 項目 web.xml內容 <filter> <filter-name>LoginFilter</filter-name> <filter-class>com.s