最近在跟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异常日志 — 你必须知道的功能的更多相关文章

  1. ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

    应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但 ...

  2. 细说Java主流日志工具库

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...

  3. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  4. 异常日志框架Exceptionless结合.NET Core(本地部署)

    一.前言 1.分布式异常日志收集框架Exceptionless是开源的工具,根据官方给出的说明: Exceptionless可以为您的ASP.NET.Web API.WebFrm.WPF.控制台和MV ...

  5. 转:使用log4net完成程序异常日志记录(使用SQLite数据库记录和普通文本记录)

    http://www.cnblogs.com/kyo-yo/archive/2010/06/11/use-log4net-to-log-exception.html 在前端时间开发的时候由于需要将异常 ...

  6. 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 重点: 实现多级子目录的压缩, ...

  7. Net Core免费开源分布式异常日志收集框架Exceptionless

    asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 https://www.cnblogs.com/yilezhu/p/9193723.htm ...

  8. 【转】asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  9. Log4Net异常日志记录在asp.net mvc3.0的应用

    前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...

随机推荐

  1. cocoapods版本更新

    1.下载某些三方库时,pod install会出现错误 $ pod install Analyzing dependencies [!] The version of CocoaPods used t ...

  2. 第六章第一个linux个程序:统计单词个数

    第六章第一个linux个程序:统计单词个数 从本章就开始激动人心的时刻——实战,去慢慢揭开linux神秘的面纱.本章的实例是统计一片文章或者一段文字中的单词个数.  第 1 步:建立 Linu x 驱 ...

  3. 移动web开发和移动app开发的区分

    1.移动web开发 这部分跟web前端开发差别不大,使用的技术都是html+css+js.区别为手机浏览器是webkit的天下,pc端是IE的天 下.手机网页可以理解成pc网页的缩小版加一些触摸特性. ...

  4. 模块:js实现一个倒计时功能

    1.给显示内容加样式 <style> #p1{font-size: large; color: red;} </style> 2.客户端页面 <div id=" ...

  5. Java单例模式(转载)

    原文地址:1:http://www.cnblogs.com/hupp/p/4487521; 2:http://cantellow.javaeye.com/blog/838473 先罗列五种单例模式的实 ...

  6. servlet有关概念

    关于servlet的概念 URL.URN与URi HTTP GET请求,POST请求(区别.适用) 编码 动态网页(GCI.PHP.ASP.JSP等)与静态网页 Model2 静态网页:指的是请求服务 ...

  7. 关于电信cdma基站nid,sid,bid的解释

    通过cdma的基站代码确定该基站的经纬度位置,必须知道Sid.Nid.Bid这三个基站数据,缺一不可. SID 是系统识别码,每个地级市只有一个sid,是唯一的. NID是网络识别码,由各本地网管理, ...

  8. .NET设计规范————类型设计规范

    类型设计规范 从CLR的角度看,只有值类型和引用类型两种类型,但是从框架设计的角度我们把类型从逻辑上分了更多的组.如下所示: 类是引用类型的一般情况,占了框架中的大多情况,类的流行归于它支持面向对象的 ...

  9. Selenium2入门(二)WebDriver

    前文Selenium2入门(一)说到Selenium是Web 应用程序测试框架,那么如果对一个简单的web应用需求:打开浏览器,登录百度首页,输入“欧洲杯”关键词,点击搜索按钮 这一系列操作,能否用S ...

  10. net不安装Oracle11g客户端直接使用ODAC

    好处: 1.不安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开) 2.不需要安装ODAC 3.不需要配置TnsNames.Ora文件 缺点: ...