Enable IIS request logging for the site you need to investigate and read each entry using its field header. Request logs help connect a URL, response code and processing time, but they are separate from application exceptions and Windows service events.
IN THIS ARTICLE
01 Configure the site's logging
- Open IIS Manager, expand Sites and select the intended website.
- Open Logging. Confirm logging is enabled and choose the required format. W3C provides selectable fields.
- Review the log directory and available storage. Keep logs outside public content paths and restrict access to staff who need them.
- For W3C, choose Select Fields. Include the fields needed for the investigation, such as date, time, method, URI stem, status, substatus, Win32 status and time taken.
- Choose the file rollover schedule or size policy appropriate to the workload. Record the retention and cleanup process separately.
- Apply the settings and make a harmless test request. Locate the entry after the log buffer is written and confirm it belongs to the intended site.
02 Read the evidence correctly
Use the #Fields header rather than assuming columns always have the same order. W3C timestamps use UTC, and time-taken is recorded in milliseconds. Compare a request's status, substatus and Windows error with the matching application or Event Viewer evidence.
If a request never reaches the IIS site, it may be absent from its log. Review a proxy or load balancer and the HTTPERR log for earlier rejections. The client's address may also reflect an intermediary unless you deliberately collect a trustworthy forwarded-address field.
03 Control sensitive data and volume
URLs and query strings can contain personal information or tokens. Select fields deliberately, restrict diagnostic exports and remove unnecessary sensitive values from shared examples. Log rollover creates new files; it should not be treated as proof that old files are being deleted.
Common questions
Why is my test request not visible immediately?
Check the site, log destination, format and buffering. Also confirm the request reached that server instead of being served or rejected by an upstream component.
Does a 200 response prove the customer transaction succeeded?
It records the HTTP response. A business operation can still fail inside an apparently successful page, so verify the application's result as well.