Tôi cần phải ghi nhật ký yêu cầu tải trọng cho các yêu cầu được thực hiện cho IIS. Điều này có thể cấu hình việc ghi nhật ký các yêu cầu tải trọng đăng tải với các ghi nhật ký hiện tại và các mô-đun ghi nhật ký nâng cao trong IIS 7.5 hoặc bất kỳ ai có thể dẫn tôi đến bất kỳ mô-đun tùy chỉnh nào sẽ cho phép tôi đăng tải trọng tải bài đăng.IIS 7 Nhật ký yêu cầu cơ thể
Trả lời
Nó thực sự có thể được thực hiện, theo https://serverfault.com/a/90965, mà trớ trêu thay là một câu trả lời cho câu hỏi rằng David Silva Smith liên quan đến trong câu trả lời của mình ở đây, tuyên bố nó không thể được thực hiện;)
Các IIS nhật ký chỉ ghi lại thông tin chuỗi truy vấn và tiêu đề mà không cần bất kỳ dữ liệu POST nào của .
Nếu bạn đang sử dụng IIS7, bạn có thể bật theo dõi yêu cầu không thành công cho mã trạng thái 200. Điều đó sẽ ghi lại tất cả dữ liệu và bạn có thể chọn loại dữ liệu nào cần bao gồm.
tôi cố gắng tạo ra một tập tin văn bản cho các yêu cầu của tôi có chứa toàn bộ yêu cầu (tiêu đề và phản ứng), tôi chỉ sử dụng nó để đăng nhập bài yêu cầu cụ thể:
protected void Application_BeginRequest(Object Sender, EventArgs e)
{
string uniqueid = Guid.NewGuid().ToString();
string logfile = String.Format("C:\\path\\to\\folder\\requests\\{0}.txt", uniqueid);
Request.SaveAs(logfile, true);
}
Hy vọng rằng đây sẽ giúp bạn!
Đây là mã mô-đun HTTP tùy chỉnh mà chúng tôi sử dụng để ghi dữ liệu yêu cầu HTTP POST.
using System;
using System.Web;
namespace MySolution.HttpModules
{
public class HttpPOSTLogger : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
if (sender != null && sender is HttpApplication)
{
var request = (sender as HttpApplication).Request;
var response = (sender as HttpApplication).Response;
if (request != null && response != null && request.HttpMethod.ToUpper() == "POST")
{
var body = HttpUtility.UrlDecode(request.Form.ToString());
if (!string.IsNullOrWhiteSpace(body))
response.AppendToLog(body);
}
}
}
}
}
Đừng quên đăng ký nó trong web.config của ứng dụng của bạn.
Sử dụng system.webServer phần cho IIS Integrated Mẫu
<system.webServer>
<modules>
<add name="HttpPOSTLogger" type="MySolution.HttpModules.HttpPOSTLogger, MySolution.HttpModules" />
</modules>
</system.webServer>
phần Sử dụng system.web cho IIS cổ điển mẫu
<system.web>
<httpModules>
<add name="HttpPOSTLogger" type="MySolution.HttpModules.HttpPOSTLogger, MySolution.HttpModules"/>
</httpModules>
</system.web>
IIS log Trước khi áp dụng mô-đun:
::1, -, 10/31/2017, 10:53:20, W3SVC1, machine-name, ::1, 5, 681, 662, 200, 0, POST, /MySolution/MyService.svc/MyMethod, -,
IIS log Sau khi áp dụng mô-đun:
::1, -, 10/31/2017, 10:53:20, W3SVC1, machine-name, ::1, 5, 681, 662, 200, 0, POST, /MySolution/MyService.svc/MyMethod, {"model":{"Platform":"Mobile","EntityID":"420003"}},
Full bài viết:
https://www.codeproject.com/Tips/1213108/HttpModule-for-logging-HTTP-POST-data-in-IIS-Log
- 1. URL yêu cầu không hợp lệ trong IIS 7
- 2. Tìm hiểu về tệp nhật ký IIS 7
- 3. IIS 7 Ghi nhật ký các phương thức dịch vụ Web
- 4. IIS 6 Nhật ký M.I.A
- 5. jersey.api.client.WebResource - cách gỡ lỗi/ghi nhật ký yêu cầu
- 6. Cách tắt nhật ký yêu cầu HTTP trong Node/Express.js
- 7. ASP.NET MVC có yêu cầu IIS không?
- 8. Yêu cầu ứng dụng định tuyến (ARR) IIS 7 Spaces trong URL
- 9. Ghi nhật ký yêu cầu chi tiết Django
- 10. Yêu cầu xích trong Java 7?
- 11. Lỗi nhật ký IIS 7.5 ở đâu?
- 12. Tệp nhật ký IIS và cân bằng tải?
- 13. Không thể dừng IIS trong windows 7
- 14. Tôi có thể định cấu hình Đăng nhập IIS 7 bằng Web.config không?
- 15. Coldfusion CFHTTP với SHA512-HMAC ký REST của yêu cầu cơ thể
- 16. Quy trình IIS ASP.net MVC yêu cầu như thế nào?
- 17. Websphere: yêu cầu và phản hồi của nhật ký bằng xà phòng
- 18. PHP nhận cơ chế yêu cầu PUT
- 19. IIS 7 Manager không thể ghi vào web.config
- 20. Cơ thể yêu cầu trông như thế nào?
- 21. Spring MVC: Đừng deserialize JSON yêu cầu cơ thể
- 22. Xuân RestTemplate - http GET với yêu cầu cơ thể
- 23. Viết trong yêu cầu cơ thể với HttpClient
- 24. Nhận số lượng yêu cầu trong IIS từ C# code
- 25. IIS Express 7.5 không xử lý yêu cầu đồng thời
- 26. Yêu cầu hết thời gian - Yêu cầu hết thời gian
- 27. Webactivator không chạy trên IIS 7
- 28. IIS Express Kích hoạt yêu cầu bên ngoài - 503
- 29. Tại sao Java 7 yêu cầu quyền mạng cho một ứng dụng đã ký?
- 30. "Yêu cầu HTTP mô phỏng IIS" là gì?
Bạn không thấy cơ thể yêu cầu theo cách này dù sao ... Chỉ tiêu đề và một số thông tin chẩn đoán. – Azimuth
@Azimuth Tôi chưa xác minh điều này, nhưng dường như các trường này chứa nội dung http yêu cầu và phản hồi, tương ứng: 'GENERAL_REQUEST_ENTITY' và' GENERAL_RESPONSE_ENTITY_BUFFER' –
@Azimuth không chính xác. Tôi thiết lập Tracing yêu cầu không thành công và lấy lại toàn bộ POST body. Giúp tôi tìm ra chính xác những gì đã được gửi đến API của tôi: http://blogs.msdn.com/b/benjaminperkins/archive/2012/01/02/enable-and-activate-failed-request-tracing-rules.aspx ? Chuyển hướng = true –