FintechOS API Logging
FintechOS logs the calls over the FintechOS API (REST AND WCF) and DataService CRUD operations.
The logs are saved by default in a separate database schema named EbsLogs. Database administrators can restrict read access for this schema and grant insert only rights for the SQL login used by the FintechOS platform.
Source names:
- OpenApi (REST endpoint)
- ApiService (WCF endpoint)
- DataService (MVC endpoint)
EbsLogs.ApiLog Schema
| Field | Type | Description |
|---|---|---|
| Id | bigint | identity, primary key |
| LogId | uniqueidentifier | alternate unique key |
| Tenant | nvarchar(150) | tenant name, default value: ebs_default |
| UserName | nvarchar(200) | authenticated user name |
| Source | nvarchar(150) | controller name : OpenApi, ApiService or DataService |
| Method | nvarchar(150) | action name |
| Request | nvarchar(max) | request parameter as JSON |
| Response | nvarchar(max) | response as JSON |
| Message | nvarchar(max) | response message |
| Exception | nvarchar(max) | response error |
| Success | bit | success/error |
| CreatedAtUtc | datetime | call moment UTC |
| Duration | bigint | call duration milliseconds |
| CorrelationId | nvarchar(100) | correlation id |
| RequestId | nvarchar(100) | request id |
| ApiInfo | nvarchar(max) | call authentication information |
How to Configure the FintechOSAPI Logging
To configure this feature, go to the web.config file and use a custom configuration section, as provided below:
<configuration>
<configSections>
<section name="ftosApiLogging"
type="EBS.Core.Utils.ApiLoggingConfiguration.ApiLoggingConfigSection, EBS.Core.Utils"/>
</configSections>
<ftosApiLogging enabled="true|false">
<sources>
<source name="OpenApi|ApiService|DataService" exclude="true|false">
<methods>
<method name="*">
<input exclude="true|false">
</input>
</method>
<method name="GetById" exclude="true|false">
<input exclude="true/false">
<properties>
<property name="A" exclude="true|false"/>
</properties>
</input>
<output exclude="true|false">
<properties>
<property name="B" exclude="true|false"/>
</properties>
</output>
</method>
</methods>
</source>
</sources>
</ftosApiLogging>
</configuration>
The configuration allows filtering the out from logging elements at different levels of granularity: source, method (action), input (request), output (result), input property, output property.
The user can configure all other methods of a source by specifying "*" for method name. Any explicitly defined method will override all settings from "*".