最近在公司一直写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#代码。