Skip to content

Commit f0f344f

Browse files
committed
增加TraceRequest和TraceResponse属性
1 parent b9fa9cf commit f0f344f

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

WebApiClient/Attributes/FilterAttributes/TraceFilterAttribute.cs

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ public class TraceFilterAttribute : ApiActionFilterAttribute
2121
/// </summary>
2222
public int EventId { get; set; }
2323

24+
/// <summary>
25+
/// 获取是否输出请求内容
26+
/// </summary>
27+
public bool TraceRequest { get; set; } = true;
28+
29+
/// <summary>
30+
/// 获取是否输出响应内容
31+
/// </summary>
32+
public bool TraceResponse { get; set; } = true;
33+
2434
/// <summary>
2535
/// 将请求响应内容写入统一日志的过滤器
2636
/// </summary>
@@ -62,23 +72,28 @@ public async override Task OnEndRequestAsync(ApiActionContext context)
6272
return;
6373
}
6474

75+
var builder = new StringBuilder();
6576
const string format = "yyyy-MM-dd HH:mm:ss.fff";
6677
var request = context.Tags.Get(tagKey).As<Request>();
6778

68-
var builder = new StringBuilder()
69-
.AppendLine($"[REQUEST] {request.Time.ToString(format)}")
70-
.AppendLine($"{request.Message.TrimEnd()}");
79+
if (this.TraceRequest == true)
80+
{
81+
builder.AppendLine($"[REQUEST] {request.Time.ToString(format)}")
82+
.AppendLine($"{request.Message.TrimEnd()}");
83+
}
7184

7285
var response = context.ResponseMessage;
73-
if (response != null && response.Content != null)
86+
if (this.TraceResponse && response != null && response.Content != null)
7487
{
75-
builder
76-
.AppendLine()
77-
.AppendLine($"[RESPONSE] {DateTime.Now.ToString(format)}")
88+
if (this.TraceRequest == true)
89+
{
90+
builder.AppendLine();
91+
}
92+
93+
builder.AppendLine($"[RESPONSE] {DateTime.Now.ToString(format)}")
7894
.AppendLine($"{await response.Content.ReadAsStringAsync().ConfigureAwait(false)}");
7995
}
8096

81-
8297
var message = builder
8398
.AppendLine()
8499
.Append($"[TIMESPAN] {DateTime.Now.Subtract(request.Time)}")

0 commit comments

Comments
 (0)