ソースを参照

log exceptions

tags/v0.1.3
Robin Thoni 7年前
コミット
cf004cd9d8
1個のファイルの変更7行の追加2行の削除
  1. 7
    2
      Luticate2.Utils/Middlewares/LuExceptionMiddleware.cs

+ 7
- 2
Luticate2.Utils/Middlewares/LuExceptionMiddleware.cs ファイルの表示

@@ -3,6 +3,7 @@ using System.Threading.Tasks;
3 3
 using Luticate2.Utils.Controllers;
4 4
 using Luticate2.Utils.Dbo.Basic;
5 5
 using Microsoft.AspNetCore.Http;
6
+using Microsoft.Extensions.Logging;
6 7
 using Newtonsoft.Json;
7 8
 
8 9
 namespace Luticate2.Utils.Middlewares
@@ -10,10 +11,12 @@ namespace Luticate2.Utils.Middlewares
10 11
     public class LuExceptionMiddleware
11 12
     {
12 13
         private readonly RequestDelegate _next;
14
+        private readonly ILogger<LuExceptionMiddleware> _logger;
13 15
 
14
-        public LuExceptionMiddleware(RequestDelegate next)
16
+        public LuExceptionMiddleware(RequestDelegate next, ILogger<LuExceptionMiddleware> logger)
15 17
         {
16 18
             _next = next;
19
+            _logger = logger;
17 20
         }
18 21
 
19 22
         public async Task Invoke(HttpContext context)
@@ -24,6 +27,7 @@ namespace Luticate2.Utils.Middlewares
24 27
             }
25 28
             catch (LuResultException e)
26 29
             {
30
+                _logger.LogError(e.Result.PrivateDetails + "\n" + e.Result.PublicDetails + "\n" + e.StackTrace);
27 31
                 var response = context.Response;
28 32
                 response.ContentType = "application/json";
29 33
                 response.StatusCode = e.Result.GetHttpCode();
@@ -35,8 +39,9 @@ namespace Luticate2.Utils.Middlewares
35 39
                     Version = LuUtilsExtensions.Options.Version
36 40
                 })).ConfigureAwait(false);
37 41
             }
38
-            catch (Exception e)//TODO
42
+            catch (Exception e)
39 43
             {
44
+                _logger.LogError(e.ToString());
40 45
                 var response = context.Response;
41 46
                 response.ContentType = "application/json";
42 47
                 response.StatusCode = 500;

読み込み中…
キャンセル
保存