异常日志接入

接口功能概述

第三方应用可以直接通过调用该接口,将异常日志发送到服务云。

接口说明

正式:https://zenith.fdcyun.com/v20/api/metrics/transfer/exceptionlog.svc
测试:https://planet-test.fdcyun.com/v20/api/metrics/transfer/exceptionlog.svc
批量上传正式地址:https://zenith.fdcyun.com/v20/api/metrics/transfer/exceptionlog-list.svc
使用批量上传是body是下列实例的对象数组(建议使用批量上传,记录数不能超过1000条)
  • 调用方式: POST
  • 请求头信息(header)
x-token:xxxxx //调用服务云[认证接口]得到的token,未传输此头的请求无法获取数据
x-custid:xxxx //客户主数据GUID 
Content-Type: application/json; charset=utf-8
  • 请求体(body)
{
  "Time": "2019-03-19T14:17:14.3441561+08:00",
  "Kind": "SQL",
  "HttpRequest": {
    "RequestId": "fa8f92bcd5ea4f94a58ed508cfeeeb2a",
    "Url": "http://www.abc.com/aa/bb/cc.aspx?xx=1&bb=2",
    "UserAgent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 OPR/58.0.3135.79"
  },
  "User": {
    "UserCode": "lixx",
    "UserName": "李xx",
    "Role": "Admin"
  },
  "AppHost": {
    "AppName": "重构成本系统",
    "Version": "2.0.0",
    "Host": "MachineName1111",
    "Environment": "Product"
  },
  "Customer": {
    "CustomerGuid": "5fbb1a9f-ce5c-4eda-a4fe-6b90d3c2ae3f",
    "CustomerName": "地产公司名字地产公司名字地产公司名字"
  },
  "SqlCommand": {
    "Server": "xxx\\SQL2016",
    "Database": "database11111",
    "SQL": "select * from table1 where Id = @id",
    "Parameters": [
      {
        "Name": "id",
        "Value": 23
      }
    ]
  },
  "HttpClient": {
    "Url": "http://www.abc.com/aa/bb/dddd.aspx?xx=1&bb=2",
    "Data": "{\"a\":2,\"b\":3}"
  },
  "Exception": {
    "Type": "System.DivideByZeroException",
    "Message": "尝试除以零。",
    "Stack": "System.DivideByZeroException: 尝试除以零。\r\n   在 ConsoleApp1.SampleData.ThrowError() 位置 D:\\Git\\Nebula.Monitor-master\\test\\ConsoleApp1\\SampleData.cs:行号 110\r\n   在 ConsoleApp1.SampleData.CreateExceptionData() 位置 D:\\Git\\Nebula.Monitor-master\\test\\ConsoleApp1\\SampleData.cs:行号 121",
    "Level": 2,
    "Code": "101010"
  }
}
Response Body

成功返回,http状态码为 200

返回0 :表示成功接收到数据并入库,-1:表示数据成功接收但未找到对应的产品

失败返回,http状态码为 500

{
    "Message": "应用ID不存在",
    "ExceptionType":"System.Exception",
    "xxx": "xxx" //后续扩展
}

其他http状态码说明

代码 说明 附加说明
200 请求成功 返回值是-1时,表示使用日志数据中的AppHost.AppName,AppHost.Version,以及登录信息中的app_id未查询到对应的产品,请登录服务云平台中台核对日志发送的产品是否匹配
403 未授权
500 具体错误信息,如:没有产品信息

更新说明

  1. 20190318 初版,未考虑批量上传。
  2. 20200403 支持批量上传