首页 > 代码库 > log4net使用C#代码配置文件名,记录日志

log4net使用C#代码配置文件名,记录日志

最近在公司一直写webservice   然后用log4net 来记录请求的记录以及数据的结果,然后突然发现请求的频率太多,就想找一个地方自己专门记录的东西.

因为不想在webconfig里边配置 所以 就想到了用 C#代码 来配置log4net


   public class Program    {        private static void Main()        {            string currentPath = AppDomain.CurrentDomain.BaseDirectory;            string txtLogPath = string.Empty;            string iisBinPath = AppDomain.CurrentDomain.RelativeSearchPath;            if (!string.IsNullOrEmpty(iisBinPath))                txtLogPath = Path.Combine(iisBinPath, "ErrorLog.txt");            else                txtLogPath = Path.Combine(currentPath, "ErrorLog.txt");            FileAppender fileAppender = new FileAppender();            fileAppender.Name = "LogFileAppender";            fileAppender.File = txtLogPath;            fileAppender.AppendToFile = true;            PatternLayout patternLayout = new PatternLayout();            patternLayout.ConversionPattern = "记录时间:%date \r\n线程ID:[%thread] \r\n日志级别:%-5level \r\n出错类:%logger property:[%property{NDC}]\r\n错误描述:%message%\r\n";            patternLayout.Footer = "------------------------add by 夜色、花清浅--------------------";            patternLayout.ActivateOptions();            fileAppender.Layout = patternLayout;            //UTF8编码,确保中文不乱码。            fileAppender.Encoding = Encoding.UTF8;            fileAppender.ActivateOptions();            BasicConfigurator.Configure(fileAppender);            InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "112312312323", new Exception());        }        public static void InvokeErrorLog(Type methedType, string errorMsg, Exception ex)        {            ILog log = log4net.LogManager.GetLogger(methedType);            log.Info(errorMsg, ex);        }    }

 控制台程序可直接运行

效果如下

 

第一是记录

第二是分享

本文抄自 http://www.cnblogs.com/ryanding/archive/2011/05/10/2040561.html 

做了一些简化,没有什么目的  只是相对于webconfig的配置来说  更喜欢用C#代码。





 

log4net使用C#代码配置文件名,记录日志