细说IIS异常日志 — 你必须知道的功能
最近在跟QAD用Webservice搞接口做数据维护,搞的哥那个叫头大,遇到很多问题,系统的log4net根本就无法记录。话说QAD调我某一个接口,可能包含几百个字段,而且QAD是个产品,所以我这边提供的维护接口,必须符合QAD的接口标准。
没办法谁让咱是搞程序的呢,再苦再累也得上。这时候我突然相倒了,webservice是基于IIS的,那么基于IIS必须有IIS日志,那么我就从IIS日志入手解决这些问题。
问题示例:QAD调用我方接口,返回消息“<QdocProcessingException>HTTP/1.1 500 Internal Server Error</QdocProcessingException>”,该接口传入参数为对象,对像中包含加密口令,Maintain对象,其中Maintain对象中包含上百个字段,接口方法中有详细的日志日录,方法返回的是一个已定义对象。在QAD调用我方接口的过程中,并未产生相关日志记录。
分析:首先从返回消息格式上看,该返回消息并非是预定义的返回对象,从返回消息内容上看,该消息属于明显的500错误,也就说肯定是我方接口存在一些问题,但是具体是哪里出问题,现在不清楚。其次从问题中可以清晰的了解QAD并未调用到接口中方法,否则方法中的日志记录可以捕获到异常信息,从其他情况来看,QAD已经调用到我方接口,但是在调用进入方法之前出了一点小差错,预计可能是传入对象出错了,但是对象包含上百个字段,如何排查是哪个出错了,即便这次排查成功,那么下次呢。想到此我的汗毛都竖起来了,不过没关系,谁让咱是程序员呢。
解决方法:不是有IIS日志的吗,注意:iis日志只会记录这次请求是500错误,但是具体错误内容还得配置一番,请看详解。

在IIS配置里面有个Failed Request Tarcing Rules,我们New一个Rules。

我们来新建一个500错误,OK,这次我们再用QAD来调用一次我们的接口。
这次我们发现在C:\inetpub\logs\LogFiles\W3SVC2下面的u_ex120305.txt里面发现了一条500错误,我们再去看C:\inetpub\logs\FailedReqLogFiles\W3SVC2下面有什么变化,这时候这个路径下面多了一些fr0000开头的XML文件,那么我们来打开这个最新的文件,来分析一下。

见红色标注的地方就是问题所在,原来是一个字段的类型定义错了,导致QAD那边调用接口在序列化的时候报错了,问题解决。
细说IIS异常日志 — 你必须知道的功能的更多相关文章
- ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面
应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但 ...
- 细说Java主流日志工具库
概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...
- asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- 异常日志框架Exceptionless结合.NET Core(本地部署)
一.前言 1.分布式异常日志收集框架Exceptionless是开源的工具,根据官方给出的说明: Exceptionless可以为您的ASP.NET.Web API.WebFrm.WPF.控制台和MV ...
- 转:使用log4net完成程序异常日志记录(使用SQLite数据库记录和普通文本记录)
http://www.cnblogs.com/kyo-yo/archive/2010/06/11/use-log4net-to-log-exception.html 在前端时间开发的时候由于需要将异常 ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- Net Core免费开源分布式异常日志收集框架Exceptionless
asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 https://www.cnblogs.com/yilezhu/p/9193723.htm ...
- 【转】asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- Log4Net异常日志记录在asp.net mvc3.0的应用
前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...
随机推荐
- wince5代码整理
BAT文件语法: @REM 这是注释标识与REM的区别就是在echo on时REM的注释也会显示出来 @REM 设置变量BSP_SMDK2416为2 set BSP_SMDK2416=2 @REM 设 ...
- Maximum Depth of Binary Tree
二叉树最大深度的递归实现. /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNo ...
- jquery中$.ajax方法提交表单
function postdata(){ //提交数据函数 $.ajax({ //调用jqu ...
- 原生js事件委托
var commontop = document.getElementById("commontop");commontop.onclick = function(ev){ v ...
- maven 环境搭建
1.maven环境搭建 1)下载maven,http://maven.apache.org/download.cgi,到本地解压,然后配置环境变量 MAVEN_HOME:D:\software\apa ...
- Inventor 2014 sp1/sp2激活
问题: win8.1 inventor2014,不打补丁不兼容: 打了补丁xforce激活始终无法成功. 解决: 1. 使用未打补丁之前的 adlmact.dll 和 adlmact_libFNP.d ...
- apache 使用 .htaccess 导致500错误
今天在win主机上配置了一个apache+mysql+php 的环境,一切看似正常了.结果将程序转移过来,打开网站的时候,出现了500错误.于是乎查原因: 首先,怀疑的是连接mysql出错了,找出配置 ...
- AJAX-创建XMLHttpRequest对象
AJAX-创建XMLHttpRequest对象 1.XMLHttpRequest是AJAX的基础,所有现在浏览器都支持,用于在后台与服务器交换数据,也就意味着可以在不加载整个页面的情况下对整个页面进 ...
- Tomcat服务器重启失败:The server may already be running in another process, or a system process may be using the port.
在控制台重启Tomcat服务器,报错如下: 原因分析: You've another instance of Tomcat already running. You can confirm this ...
- SQL起别名
select列的时候取别名有三种方法,这三种方法并不是所有数据库都适用. 方法一.直接在字段名称后面加上别名,中间以空格隔开. 方法二.以as关键字指定字段别名,as在select的字段和别名之间. ...