zhoufan 4 年之前
父節點
當前提交
b0e2b1909d

+ 23 - 2
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/App_Start/ErrorAttribute.cs

1
 using CallCenter.Utility;
1
 using CallCenter.Utility;
2
+using System.Collections.Generic;
2
 using System.Web.Mvc;
3
 using System.Web.Mvc;
3
 
4
 
4
 namespace CallCenterApi.Interface
5
 namespace CallCenterApi.Interface
19
         {
20
         {
20
             if (context == null)
21
             if (context == null)
21
                 return;
22
                 return;
22
-            var log = LogFactory.GetLogger(context.Controller.ToString());
23
-            log.Error(context.Exception.ToString());
23
+            var log = LogFactory.GetLogger(context.Controller.ToString() + "/" + context.RouteData.Values["Action"].ToString());
24
+            //log.Error(context.Exception.ToString());
25
+
26
+            var cnt = context.RequestContext.HttpContext;
27
+            var rt = cnt.Request;
28
+            Dictionary<string, string> Params = new Dictionary<string, string>();
29
+            Params.Add("request_url", rt.Url.ToString());
30
+
31
+            if (rt.HttpMethod.ToUpper() != "GET")
32
+            {
33
+                foreach (var key in rt.Params.AllKeys)
34
+                {
35
+                    if (key == "ALL_HTTP")
36
+                    {
37
+                        break;
38
+                    }
39
+                    Params.Add(key, rt.Params[key]);
40
+                }
41
+            }
42
+            string usercode = cnt.User?.Identity.Name ?? "";
43
+
44
+            log.Error("系统异常,操作账号:" + usercode + ",请求信息:" + Params.ToJson(), context.Exception);
24
         }
45
         }
25
     }
46
     }
26
 }
47
 }

+ 38 - 17
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/Base/BaseController.cs

10
 {
10
 {
11
     public class BaseController : Controller
11
     public class BaseController : Controller
12
     {
12
     {
13
-        public new FormsPrincipal<Cache.Models.CurrentUserInfo> CurrentUser
13
+        public FormsPrincipal<Cache.Models.CurrentUserInfo> CurrentUser
14
         {
14
         {
15
             get
15
             get
16
             {
16
             {
22
         /// </summary>
22
         /// </summary>
23
         public Log FileLog
23
         public Log FileLog
24
         {
24
         {
25
-            get { return LogFactory.GetLogger(this.GetType().ToString()); }
25
+            get { return LogFactory.GetLogger(this.GetType().ToString() + "/" + this.ControllerContext.RouteData.Values["Action"].ToString()); }
26
         }
26
         }
27
 
27
 
28
+                
28
         /// <summary>
29
         /// <summary>
29
-        /// 成功的消息格式化
30
+        /// 警告的消息格式化
30
         /// </summary>
31
         /// </summary>
31
         /// <param name="message"></param>
32
         /// <param name="message"></param>
32
         /// <returns></returns>
33
         /// <returns></returns>
33
-        protected virtual ActionResult Success(string message)
34
+        protected virtual ActionResult Warn(string message, object data)
34
         {
35
         {
35
-            var jsonMsg = new AjaxResult { state = ResultTypes.success.ToString(), message = message }.ToJson();
36
-            FileLog.Info(jsonMsg);
36
+            var jsonMsg = new AjaxResult { state = ResultTypes.warning.ToString(), message = message, data = data }.ToJson();
37
+            FileLog.Warn( jsonMsg);
37
             return Content(jsonMsg);
38
             return Content(jsonMsg);
38
         }
39
         }
39
 
40
 
41
         /// 成功的消息格式化
42
         /// 成功的消息格式化
42
         /// </summary>
43
         /// </summary>
43
         /// <param name="message"></param>
44
         /// <param name="message"></param>
44
-        /// <param name="data"></param>
45
         /// <returns></returns>
45
         /// <returns></returns>
46
-        protected virtual ActionResult Success(string message, object data)
46
+        protected virtual ActionResult Success(string message)
47
         {
47
         {
48
-            var jsonMsg = new AjaxResult { state = ResultTypes.success.ToString(), message = message,data=data }.ToJson();
49
-            FileLog.Info(jsonMsg);
48
+            var jsonMsg = new AjaxResult { state = ResultTypes.success.ToString(), message = message }.ToJson();
49
+            FileLog.Info( jsonMsg);
50
             return Content(jsonMsg);
50
             return Content(jsonMsg);
51
         }
51
         }
52
+
52
         /// <summary>
53
         /// <summary>
53
-        /// 警告的消息格式化
54
+        /// 成功的消息格式化
54
         /// </summary>
55
         /// </summary>
55
         /// <param name="message"></param>
56
         /// <param name="message"></param>
57
+        /// <param name="data"></param>
56
         /// <returns></returns>
58
         /// <returns></returns>
57
-        protected virtual ActionResult Warn(string message, object data)
59
+        protected virtual ActionResult Success(string message, object data)
58
         {
60
         {
59
-            var jsonMsg = new AjaxResult { state = ResultTypes.warning.ToString(), message = message, data = data }.ToJson();
60
-            FileLog.Warn(jsonMsg);
61
+            var jsonMsg = new AjaxResult { state = ResultTypes.success.ToString(), message = message, data = data }.ToJson();
62
+            FileLog.Info( jsonMsg);
61
             return Content(jsonMsg);
63
             return Content(jsonMsg);
62
         }
64
         }
65
+
63
         /// <summary>
66
         /// <summary>
64
         /// 跳转的消息格式化
67
         /// 跳转的消息格式化
65
         /// </summary>
68
         /// </summary>
79
         protected virtual ActionResult Error(string message)
82
         protected virtual ActionResult Error(string message)
80
         {
83
         {
81
             var jsonMsg = new AjaxResult { state = ResultTypes.error.ToString(), message = message }.ToJson();
84
             var jsonMsg = new AjaxResult { state = ResultTypes.error.ToString(), message = message }.ToJson();
82
-            FileLog.Error(jsonMsg);
85
+            //FileLog.Error((CurrentUser?.F_UserCode ?? "") + "|" + jsonMsg);
86
+
87
+            Dictionary<string, string> Params = new Dictionary<string, string>();
88
+            Params.Add("request_url", Request.Url.ToString());
89
+
90
+            if (Request.HttpMethod.ToUpper() != "GET")
91
+            {
92
+                foreach (var key in Request.Params.AllKeys)
93
+                {
94
+                    if (key == "ALL_HTTP")
95
+                    {
96
+                        break;
97
+                    }
98
+                    Params.Add(key, Request.Params[key]);
99
+                }
100
+            }
101
+
102
+            FileLog.Error( Params.ToJson() + "|" + jsonMsg);
103
+
83
             return Content(jsonMsg);
104
             return Content(jsonMsg);
84
         }
105
         }
85
 
106
 
91
         protected virtual ActionResult NoToken(string message)
112
         protected virtual ActionResult NoToken(string message)
92
         {
113
         {
93
             var jsonMsg = new AjaxResult { state = ResultTypes.notoken.ToString(), message = message }.ToJson();
114
             var jsonMsg = new AjaxResult { state = ResultTypes.notoken.ToString(), message = message }.ToJson();
94
-            FileLog.Info(jsonMsg);
115
+            FileLog.Info( jsonMsg);
95
             return Content(jsonMsg);
116
             return Content(jsonMsg);
96
         }
117
         }
97
 
118
 
103
         protected virtual ActionResult UnAuthorized(string message)
124
         protected virtual ActionResult UnAuthorized(string message)
104
         {
125
         {
105
             var jsonMsg = new AjaxResult { state = ResultTypes.unauthorized.ToString(), message = message }.ToJson();
126
             var jsonMsg = new AjaxResult { state = ResultTypes.unauthorized.ToString(), message = message }.ToJson();
106
-            FileLog.Error(jsonMsg);
127
+            FileLog.Info( jsonMsg);
107
             return Content(jsonMsg);
128
             return Content(jsonMsg);
108
         }
129
         }
109
 
130
 

+ 5 - 0
codegit/CallCenterCommon/CallCenter.Utility/log/Log.cs

1
 using log4net;
1
 using log4net;
2
+using System;
2
 
3
 
3
 namespace CallCenter.Utility
4
 namespace CallCenter.Utility
4
 {
5
 {
17
         {
18
         {
18
             this.logger.Error(RequestString.GetIP() + "  " + message);
19
             this.logger.Error(RequestString.GetIP() + "  " + message);
19
         }
20
         }
21
+        public void Error(object message,Exception ex)
22
+        {
23
+            this.logger.Error(RequestString.GetIP() + "  " + message, ex);
24
+        }
20
         public void Info(object message)
25
         public void Info(object message)
21
         {
26
         {
22
             this.logger.Info(RequestString.GetIP() + "  " + message);
27
             this.logger.Info(RequestString.GetIP() + "  " + message);