123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- using Microsoft.AspNetCore.Mvc.Abstractions;
- using Microsoft.AspNetCore.Mvc.Filters;
- using Microsoft.Extensions.DependencyInjection;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Claims;
- using System.Threading.Tasks;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.Controllers;
- using Newtonsoft.Json;
- namespace wms.api.Filter
- {
- /// <summary>
- /// 日志
- /// </summary>
- public class LogFilter : ActionFilterAttribute
- {
- public override void OnActionExecuting(ActionExecutingContext context)
- {
- ILogger _logUtil = context.HttpContext.RequestServices.GetRequiredService<ILogger<LogFilter>>();
- var requestParam = context.ActionArguments;
- object methodname = "";
- var method = context.ActionDescriptor.DisplayName;
- var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;
- var actionName = controllerActionDescriptor.ActionName;
- if (!actionName.StartsWith("Get"))
- {
- if (actionName == "I_WCS_PutTaskStep" || actionName == "I_WCS_PutDevInfo" || actionName == "ExecuteJob" || actionName == "StartJob")
- {
- //_logUtil.Debug(method + "请求参数:" + JilH.JilToJson(requestParam));
- }
- else
- {
- _logUtil.LogInformation(method + context.HttpContext.Connection.RemoteIpAddress.ToString()+ "请求参数:{@requestParam}",requestParam);
-
- }
- }
- base.OnActionExecuting(context);
- }
- public override void OnActionExecuted(ActionExecutedContext context)
- {
- string resContent = "";
- if (context.Result is ObjectResult result)
- resContent = JsonConvert.SerializeObject(result.Value);
- ILogger _logUtil = context.HttpContext.RequestServices.GetRequiredService<ILogger<LogFilter>>();
- var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;
- var actionName = controllerActionDescriptor.ActionName;
- if (!actionName.StartsWith("Get"))
- {
- if (actionName == "I_WCS_PutTaskStep" || actionName == "I_WCS_PutDevInfo" || actionName == "ExecuteJob" || actionName == "StartJob")
- {
- //_logUtil.Debug(context.ActionDescriptor.DisplayName + "响应结果:" + resContent.JilToJson());
- }
- else
- {
-
- _logUtil.LogInformation(context.ActionDescriptor.DisplayName + "响应结果:{@resContent}" , resContent);
-
- }
- }
- base.OnActionExecuted(context);
- }
- public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
- {
- return base.OnResultExecutionAsync(context, next);
- }
-
- }
- }
|