怎样在本机建设网站,关于建设俄语网站的稿子,用那个程序做网站收录好,公司网站设计模板在上一篇文章中#xff0c;实现了利用Log4Net记录系统中出现的问题。如果同时还需要记录用户操作的监控日志#xff0c;就需要一些修改 修改Web.Cofig配置文件 ,增加一个logger节点和appender节点#xff0c;用于监控操作日志配置#xff0c;并且设置不同的日志文件路径实现了利用Log4Net记录系统中出现的问题。如果同时还需要记录用户操作的监控日志就需要一些修改 修改Web.Cofig配置文件 ,增加一个logger节点和appender节点用于监控操作日志配置并且设置不同的日志文件路径如下图所示 log4net!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --!-- Set root logger level to ERROR and its appenders --!--rootlevel valueALL/appender-ref refErrorLogger/appender-ref refErrorLogger//root--!-- Print only messages of level DEBUG or above in the packages --logger nameErrorLogger!--这里进一步限制了日志级别只有在大于等于DEBUG的情况下才会记录日志--level valueDEBUG/appender-ref refSysAppender/appender-ref/loggerappender nameSysAppender typelog4net.Appender.RollingFileAppender,log4net !--日志放在项目的App_Data文件夹--param nameFile valueLogs\\Error\\ /!--日志以追加形式记录--param nameAppendToFile valuetrue /!--日期作为回滚日期排序--param nameRollingStyle valueDate /!--设置日志文件名称的生成规则 --param nameDatePattern valuequot;Logs_quot;yyyyMMddquot;.txtquot; /!--日志文件是否静态否--param nameStaticLogFileName valuefalse /!--日志格式的内容和布局--layout typelog4net.Layout.PatternLayout,log4netparam nameConversionPattern value%d [%t] %-5p %c - %m%n /param nameHeader value#13;#10;----------------------header--------------------------#13;#10; /param nameFooter value#13;#10;----------------------footer--------------------------#13;#10; //layout/appenderlogger nameCommonLogger!--这里进一步限制了日志级别只有在大于等于DEBUG的情况下才会记录日志--level valueDEBUG/appender-ref refCommonAppender/appender-ref/loggerappender nameCommonAppender typelog4net.Appender.RollingFileAppender,log4net !--日志放在项目的App_Data文件夹--param nameFile valueLogs\\Common\\ /!--日志以追加形式记录--param nameAppendToFile valuetrue /!--日期作为回滚日期排序--param nameRollingStyle valueDate /!--设置日志文件名称的生成规则 --param nameDatePattern valuequot;Logs_quot;yyyyMMddquot;.txtquot; /!--日志文件是否静态否--param nameStaticLogFileName valuefalse /!--日志格式的内容和布局--layout typelog4net.Layout.PatternLayout,log4netparam nameConversionPattern value%d [%t] %-5p %c - %m%n /param nameHeader value#13;#10;----------------------header--------------------------#13;#10; /param nameFooter value#13;#10;----------------------footer--------------------------#13;#10; //layout/appenderappender nameconsoleApp typelog4net.Appender.ConsoleAppender,log4netlayout typelog4net.Layout.PatternLayout,log4netparam nameConversionPattern value%d [%t] %-5p %c - %m%n //layout/appender/log4net 修改Global.asax.cs中Application_Start()方法中原来的队列代码中的这句代码变为系统问题型日志如下图所示 ThreadPool.QueueUserWorkItem(o
{while (true){if (MyErrorAttribute.ExceptionQueue.Count 0){Exception ex MyErrorAttribute.ExceptionQueue.Dequeue();if (ex ! null){log4net.ILog logger log4net.LogManager.GetLogger(ErrorLogger);//修改为和WebConfig中logger nameErrorLogger一样logger.Error(ex.ToString());}else{Thread.Sleep(50);}}else{Thread.Sleep(50);}}
}); 在要监控用户操作的地方加上如下图中的代码用来打印监控日志 public class HomeController : Controller{public static log4net.ILog log log4net.LogManager.GetLogger(CommonLogger);//定义为用户监控日志对应WebConifg中的logger nameCommonLoggerpublic ActionResult About(){int result 0;int x 1, y 0;result x / y;//系统报错日志ViewBag.Message Your application description page.;return View();}public ActionResult Contact(){log.Error(好像出错了);//写入自定义的普通监控日志ViewBag.Message Your contact page.;return View();}} 使用效果如下图所示 Common文件夹下的日志 Error文件夹下的日志 总结 Log4Net 有3个主要组件loggers、appenders 和 layouts。这三个组件一起工作式使得开发者能够根据信息类型和等级level记录信息以及在运行时控制信息的格式化和信息的的写入位置(如控制台、文件、内存、数据库等)。过滤器帮助这些组件控制追加器(appender)的行为和把对象转换成字符串的对象渲染。 Appender可以将日志输出到不同的地方不同的输出目标对应的不同的 Appender如RollingFileAppender滚动文件、AdoNetAppender数据库、SmtpAppender邮件等。 level(级别)标识这条日志信息的重要级别。NoneFatalErrorWarnDEBUGINFOALL.设定一个level那么低于这个level等级的日志是不会被写到Appender中的。 Log4Net还可以设定多个Appender可以实现同时将日志记录到文件、数据、发送邮件等可以设定不同的Appender的不同Level可以实现普通级别都记录到文件、Error以上级别都发送邮件可以实现对不同的类设定不同Appender:开可以自定义 Appender,自己实现将Error信息发短信等。