首页 > 代码库 > log4net和一般的记录日志方法

log4net和一般的记录日志方法

下载

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=http://www.mamicode.com/"ALL" />      <appender-ref ref="SmtpAppenderAX"></appender-ref>      <appender-ref ref="FileAppenderAX"></appender-ref>    </logger>    <appender name="SmtpAppenderAX" type="log4net.Appender.SmtpAppender">      <to value=http://www.mamicode.com/"To@domain.com"></to>      <from value=http://www.mamicode.com/"From@domain.com" />      <subject value=http://www.mamicode.com/"AX‘Test Log Message" />      <smtpHost value=http://www.mamicode.com/"mail.eshinfo.com" />      <username value=http://www.mamicode.com/"eshinfo" />      <password value=http://www.mamicode.com/"eshinfo" />      <bufferSize value=http://www.mamicode.com/"2048" />      <!--超长部分是否丢弃-->      <lossy value=http://www.mamicode.com/"false" />      <!--输出级别在WARN和OFF之间的日志-->      <filter type="log4net.Filter.LevelRangeFilter">        <param name="LevelMin" value=http://www.mamicode.com/"WARN" />        <param name="LevelMax" value=http://www.mamicode.com/"OFF" />      </filter>      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value=http://www.mamicode.com/"%newline%date [%thread] %-5level %logger [%property{NDC}] : %newline%message%newline" />      </layout>    </appender>    <appender name="FileAppenderAX" type="log4net.Appender.RollingFileAppender">      <!--绝对路径-->      <file value=http://www.mamicode.com/"D://AX.txt"></file>      <!--相对路径,在项目的根目录下-->      <!--以最后一个路径为准,所以上面的绝对路径下不会写日志-->      <file value=http://www.mamicode.com/"./Log/AX.txt"></file>      <!--按照当天记录-->      <appendToFile value=http://www.mamicode.com/"true" />      <rollingStyle value=http://www.mamicode.com/"Date" />      <!--<datePattern value=http://www.mamicode.com/"yyyyMMdd-HHmm" />-->      <datePattern value=http://www.mamicode.com/"yyyyMMdd" />      <!--防止多线程时不能写Log,官方说线程非安全-->      <!--实际使用时,本地测试正常,部署后有不能写日志的情况-->      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />      <appendToFile value=http://www.mamicode.com/"true" />      <!--可以为:Once|Size|Date|Composite-->      <!--Composite为Size和Date的组合-->      <rollingStyle value=http://www.mamicode.com/"composite" />      <!--日志最大个数,都是最新的-->      <!--rollingStyle节点为Date时,该节点不起作用-->      <!--rollingStyle节点为Size时,只能有value个日志-->      <!--rollingStyle节点为Composite时,每天有value个日志-->      <maxSizeRollBackups value=http://www.mamicode.com/"10" />      <!--当备份文件时,为文件名加的后缀-->      <!--后缀为*.txt时,例:AX.txt_2008-07-24.PxP 应该是程序上的一个bug-->      <!--后缀为*.TXT时,例:AX.txt_2008-07-25.TXT-->      <datePattern value=http://www.mamicode.com/"_yyyy-MM-dd.TXT" />      <!--可用的单位:KB|MB|GB-->      <!--不要使用小数,否则会一直写入当前日志-->      <maximumFileSize value=http://www.mamicode.com/"1MB" />      <!--置为true,当前最新日志文件名永远为file节中的名字-->      <staticLogFileName value=http://www.mamicode.com/"true" />      <!--输出级别在INFO和ERROR之间的日志-->      <filter type="log4net.Filter.LevelRangeFilter">        <param name="LevelMin" value=http://www.mamicode.com/"INFO" />        <param name="LevelMax" value=http://www.mamicode.com/"ERROR" />      </filter>      <!--必须结合起来用,第一个只过滤出WARN,第二个拒绝其它其它日志输出-->      <filter type="log4net.Filter.LevelMatchFilter">        <param name="LevelToMatch" value=http://www.mamicode.com/"WARN" />      </filter>      <filter type="log4net.Filter.DenyAllFilter" />      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value=http://www.mamicode.com/"%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