log4net和一般的記錄日誌方法

來源:互聯網
上載者:User

標籤:style   class   blog   code   http   tar   

下載

http://files.cnblogs.com/crazyair/log4net.zip

1 在web項目中建立一個 Log4Net.config

<?xml version="1.0" encoding="utf-8"?><!-- 注意: 除了手動編輯此檔案以外,您還可以使用 Web 管理工具來配置應用程式的設定。可以使用 Visual Studio 中的“網站”->“Asp.Net 配置”選項。設定和注釋的完整列表在 machine.config.comments 中,該檔案通常位於 /Windows/Microsoft.Net/Framework/v2.x/Config 中--><configuration>  <configSections>    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>  </configSections>  <log4net>    <logger name="ikangdentalLog">      <!--control log level: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->      <!--如果沒有定義LEVEL的值,則預設為DEBUG-->      <level value="ALL" />      <appender-ref ref="SmtpAppenderAX"></appender-ref>      <appender-ref ref="FileAppenderAX"></appender-ref>    </logger>    <appender name="SmtpAppenderAX" type="log4net.Appender.SmtpAppender">      <to value="[email protected]"></to>      <from value="[email protected]" />      <subject value="AX‘Test Log Message" />      <smtpHost value="mail.eshinfo.com" />      <username value="eshinfo" />      <password value="eshinfo" />      <bufferSize value="2048" />      <!--超長部分是否丟棄-->      <lossy value="false" />      <!--輸出層級在WARN和OFF之間的日誌-->      <filter type="log4net.Filter.LevelRangeFilter">        <param name="LevelMin" value="WARN" />        <param name="LevelMax" value="OFF" />      </filter>      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] : %newline%message%newline" />      </layout>    </appender>    <appender name="FileAppenderAX" type="log4net.Appender.RollingFileAppender">      <!--絕對路徑-->      <file value="D://AX.txt"></file>      <!--相對路徑,在項目的根目錄下-->      <!--以最後一個路徑為準,所以上面的絕對路徑下不會寫日誌-->      <file value="./Log/AX.txt"></file>      <!--按照當天記錄-->      <appendToFile value="true" />      <rollingStyle value="Date" />      <!--<datePattern value="yyyyMMdd-HHmm" />-->      <datePattern value="yyyyMMdd" />      <!--防止多線程時不能寫Log,官方說線程非安全-->      <!--實際使用時,本地測試正常,部署後有不能寫日誌的情況-->      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />      <appendToFile value="true" />      <!--可以為:Once|Size|Date|Composite-->      <!--Composite為Size和Date的組合-->      <rollingStyle value="composite" />      <!--日誌最大個數,都是最新的-->      <!--rollingStyle節點為Date時,該節點不起作用-->      <!--rollingStyle節點為Size時,只能有value個日誌-->      <!--rollingStyle節點為Composite時,每天有value個日誌-->      <maxSizeRollBackups value="10" />      <!--當備份檔案時,為檔案名稱加的尾碼-->      <!--尾碼為*.txt時,例:AX.txt_2008-07-24.PxP 應該是程式上的一個bug-->      <!--尾碼為*.TXT時,例:AX.txt_2008-07-25.TXT-->      <datePattern value="_yyyy-MM-dd.TXT" />      <!--可用的單位:KB|MB|GB-->      <!--不要使用小數,否則會一直寫入當前日誌-->      <maximumFileSize value="1MB" />      <!--置為true,當前最新記錄檔名永遠為file節中的名字-->      <staticLogFileName value="true" />      <!--輸出層級在INFO和ERROR之間的日誌-->      <filter type="log4net.Filter.LevelRangeFilter">        <param name="LevelMin" value="INFO" />        <param name="LevelMax" value="ERROR" />      </filter>      <!--必須結合起來用,第一個只過濾出WARN,第二個拒絕其它其它日誌輸出-->      <filter type="log4net.Filter.LevelMatchFilter">        <param name="LevelToMatch" value="WARN" />      </filter>      <filter type="log4net.Filter.DenyAllFilter" />      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />      </layout>    </appender>  </log4net></configuration>

類庫 common 中AssemblyInfo.cs 中加入

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

  建立一個類

public class Log    {        private static log4net.ILog log = log4net.LogManager.GetLogger("ikangdentalLog");        public static void Debug(string message)        {            if (log.IsDebugEnabled)            {                log.Debug(message);            }        }        public static void Debug(System.Exception ex1)        {            if (log.IsDebugEnabled)            {                log.Debug(ex1.Message.ToString() + "/r/n" + ex1.Source.ToString() + "/r/n" +ex1.TargetSite.ToString() + "/r/n" + ex1.StackTrace.ToString());            }        }        public static void Error(string message)        {            if (log.IsErrorEnabled)            {                log.Error(message);            }        }        public static void Fatal(string message)        {            if (log.IsFatalEnabled)            {                log.Fatal(message);            }        }        public static void Info(string message)        {            if (log.IsInfoEnabled)            {                log.Info(message);            }        }        public static void Warn(string message)        {            if (log.IsWarnEnabled)            {                log.Warn(message);            }        }    }

  引用  log4net 

用的時候   Common.Log.Info("1111");

 

 

2  一種簡單的記錄日誌的 

public  class Log    {        /// <summary>        /// 寫日誌(用於跟蹤)        /// </summary>       public static void WriteLog(string strMemo)        {            string filename = HttpContext.Current.Request.PhysicalApplicationPath;            //儲存的路徑            string time = DateTime.Now.ToString("yyyy-MM-dd");            filename = filename + "/Log/" + " " + "" + time + ".txt";            StreamWriter sr = null;            try            {                if (!File.Exists(filename))                {                    sr = File.CreateText(filename);                }                else                {                    sr = File.AppendText(filename);                }                sr.WriteLine(strMemo);            }            catch            {            }            finally            {                if (sr != null)                    sr.Close();            }        }    }

  用的時候  Log.WriteLog("XXX");

 

 

下載 http://files.cnblogs.com/crazyair/log4net.zip

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.