zhoufan лет назад: 4
Родитель
Сommit
b0e2b1909d

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

@@ -1,4 +1,5 @@
1 1
 using CallCenter.Utility;
2
+using System.Collections.Generic;
2 3
 using System.Web.Mvc;
3 4
 
4 5
 namespace CallCenterApi.Interface
@@ -19,8 +20,28 @@ namespace CallCenterApi.Interface
19 20
         {
20 21
             if (context == null)
21 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,7 +10,7 @@ namespace CallCenterApi.Interface.Controllers.Base
10 10
 {
11 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 15
             get
16 16
             {
@@ -22,18 +22,19 @@ namespace CallCenterApi.Interface.Controllers.Base
22 22
         /// </summary>
23 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 29
         /// <summary>
29
-        /// 成功的消息格式化
30
+        /// 警告的消息格式化
30 31
         /// </summary>
31 32
         /// <param name="message"></param>
32 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 38
             return Content(jsonMsg);
38 39
         }
39 40
 
@@ -41,25 +42,27 @@ namespace CallCenterApi.Interface.Controllers.Base
41 42
         /// 成功的消息格式化
42 43
         /// </summary>
43 44
         /// <param name="message"></param>
44
-        /// <param name="data"></param>
45 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 50
             return Content(jsonMsg);
51 51
         }
52
+
52 53
         /// <summary>
53
-        /// 警告的消息格式化
54
+        /// 成功的消息格式化
54 55
         /// </summary>
55 56
         /// <param name="message"></param>
57
+        /// <param name="data"></param>
56 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 63
             return Content(jsonMsg);
62 64
         }
65
+
63 66
         /// <summary>
64 67
         /// 跳转的消息格式化
65 68
         /// </summary>
@@ -79,7 +82,25 @@ namespace CallCenterApi.Interface.Controllers.Base
79 82
         protected virtual ActionResult Error(string message)
80 83
         {
81 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 104
             return Content(jsonMsg);
84 105
         }
85 106
 
@@ -91,7 +112,7 @@ namespace CallCenterApi.Interface.Controllers.Base
91 112
         protected virtual ActionResult NoToken(string message)
92 113
         {
93 114
             var jsonMsg = new AjaxResult { state = ResultTypes.notoken.ToString(), message = message }.ToJson();
94
-            FileLog.Info(jsonMsg);
115
+            FileLog.Info( jsonMsg);
95 116
             return Content(jsonMsg);
96 117
         }
97 118
 
@@ -103,7 +124,7 @@ namespace CallCenterApi.Interface.Controllers.Base
103 124
         protected virtual ActionResult UnAuthorized(string message)
104 125
         {
105 126
             var jsonMsg = new AjaxResult { state = ResultTypes.unauthorized.ToString(), message = message }.ToJson();
106
-            FileLog.Error(jsonMsg);
127
+            FileLog.Info( jsonMsg);
107 128
             return Content(jsonMsg);
108 129
         }
109 130
 

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

@@ -1,4 +1,5 @@
1 1
 using log4net;
2
+using System;
2 3
 
3 4
 namespace CallCenter.Utility
4 5
 {
@@ -17,6 +18,10 @@ namespace CallCenter.Utility
17 18
         {
18 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 25
         public void Info(object message)
21 26
         {
22 27
             this.logger.Info(RequestString.GetIP() + "  " + message);