其他分享
首页 > 其他分享> > 日志、过滤器

日志、过滤器

作者:互联网

一、mssql

  1. 默认端口 1433

  2. 默认数据库 用户名 sa

二、mysql

  1. 默认端口 3306

  2. 默认数据库 用户名 root

三、日志

public static void WriteLog(string log)
      {
          //获取当前目录
          var baseDir = AppDomain.CurrentDomain.BaseDirectory+"/log/";
          //文件名
          var fileName = DateTime.Now.ToString("yyyyMMdd") + ".log";
          //判断文件夹是否存在
          if (!Directory.Exists(baseDir))
          {
              //不存在 创建文件夹
              Directory.CreateDirectory(baseDir);
          }
          //完整路径
          var newPath = baseDir + fileName;
          //using 可以自动释放资源
          using (FileStream fs = new FileStream(newPath, FileMode.Append,FileAccess.Write))
          {
              //借助 StreamWriter 来完成对文件的写操作
              using (StreamWriter sw = new StreamWriter(fs))
              {
                  sw.WriteLine(DateTime.Now+":"+log);
              }
          }
      }

效果如下:

 

四、过滤器

在MVC中创建一个文件夹,添加两个类

public override void OnException(ExceptionContext filterContext)
      {
          //1、获取当前的异常行为
          Exception ex = filterContext.Exception;
          //2、写日志
          FileHelper.WriteLog(ex.Message);
          //3、重定向
          filterContext.Result = new RedirectResult("/Default/Error");
          //4、标记异常处理完成
          filterContext.ExceptionHandled = true;

          base.OnException(filterContext);
      }
public override void OnActionExecuted(ActionExecutedContext filterContext)
      {
          if(filterContext.HttpContext.Session["UserName"]==null)
          {
              filterContext.Result = new RedirectResult("/Login/Index");
          }
          base.OnActionExecuted(filterContext);
      }

登录的方法如下:

[HttpPost]
      public ActionResult Login(string uname, string upass)
      {
          var result = loginBll.Login(uname, upass);
          if (result!=null)
          {
              Session["UserName"] = result.UName;

              FileHelper.WriteLog("用户名:" + uname + "登录成功");

              return Json(1, JsonRequestBehavior.DenyGet);
          }
          else
          {
              FileHelper.WriteLog("用户名:" + uname + "登录失败");
              return Json(0, JsonRequestBehavior.DenyGet);
          }
           
      }

 

标签:filterContext,baseDir,WriteLog,uname,过滤器,new,日志,public
来源: https://www.cnblogs.com/666l/p/15186920.html