For full functionality of this site it is necessary to enable JavaScript.
Here are the instructions how to enable JavaScript in your web browser.

Knowledge base

Find the answer to your question

Advanced Search PView

Search terms
Search Type
Product
Category
Language
Format
SDK
Sort by
Direction

Sample Code for Exception based logging with .NET SDK using C#

  • Answer ID 849
  • Published 08/19/2014 09:33 AM
  • Updated 08/19/2014 09:33 AM
  • Permalink https://ebaydts.com/eBayKBDetails?KBid=849
Product

Exception based logging with .NET SDK


Exception based logging with .NET SDK

Summary

With .NET SDK version 485, you can now do logging conditionally.  You can log the SOAP request and response based on API Error Codes, SDK Exceptions and / or Http Status codes.



Detailed Description

Here is an example of how to set exception based logging.
 
/*
© 2007-2014 eBay Inc., All Rights Reserved
Licensed under CDDL 1.0 - http://opensource.org/licenses/cddl1.php
*/

//Create the API context object
ApiContext context = new ApiContext();

//Set the Credentials
context.ApiCredential.ApiAccount.Developer = 'devID';
context.ApiCredential.ApiAccount.Application = 'appID';
context.ApiCredential.ApiAccount.Certificate = 'certID';
context.ApiCredential.eBayToken = 'token';

//Set the URL
context.SoapApiServerUrl = 'https://api.sandbox.ebay.com/wsapi'; 

//Set the version
context.Version = '485';

//API Error codes for logging
StringCollection errorCodes = new StringCollection();
errorCodes.Add('10007');
// Internal error to the application
errorCodes.Add('931');
// Invalid Token Error
 

//Http Status Codes for logging

Int32Collection httpCodes = new Int32Collection();

httpCodes.Add(404);

httpCodes.Add(502);

httpCodes.Add(500);

 

//Trigger Exceptions for logging

TypeCollection exceptions = new TypeCollection();

exceptions.Add(typeof(System.Net.ProtocolViolationException));

exceptions.Add(typeof(System.InvalidOperationException));


//
Create the Exception Filter

ExceptionFilter exFilter = new ExceptionFilter();

exFilter.TriggerErrorCodes = errorCodes;

exFilter.TriggerExceptions = exceptions;

exFilter.TriggerHttpStatusCodes = httpCodes;

// Set logging
Context.ApiLogManager = newApiLogManager();
context.ApiLogManager.ApiLoggerList.Add(new eBay.Service.Util.FileLogger('Messages.log', true, true, true));
context.ApiLogManager.EnableLogging = true;


//Set the filter to log messages only for specified errors / exceptions
context.ApiLogManager.MessageLoggingFilter = exFilter;
 


Version Info

The code example above was based on the versions specified below:

API Schema Version 485
.NET SDK Version .NET SDK v485.0 full release

 



Additional Resources

 

How well did this answer your question?

Answers others found helpful

Print Email This Page Delicious Digg Facebook Reddit StumbleUpon Twitter