• Webinars
  • Docs
  • Download
  • Blogs
  • Contact Us
Show / Hide Table of Contents
  • Administrator's Guide
  • NCache Architecture
    • Cache Topologies
    • Cache Cluster
    • Local Cache
    • Cache Client
    • Client Cache
    • Data Load Balancing
    • Cache Server Backward Compatibility
    • Client Backward Compatibility
    • Eviction
    • Indexing
    • Runtime Data Sharing
    • Portable Data Types
    • Class Versioning
    • IP Binding with Multiple NICs
    • Graceful Node Down
    • Separate Cache Host Process
    • Self Healing Dynamic Clustering
  • Configuring Caches
    • Create Cache
      • Creating Local Cache
        • Create New Cache
        • Add Existing Cache
      • Creating Clustered Cache
        • Create New Cache Cluster
        • Add Existing Cache Cluster
    • Remove Cache
    • Clear Cache Contents
    • Adding Server Node in Cache Cluster
    • Removing Server Node from Cache Cluster
    • Configuring Basic Cache Settings
      • Cache Size
      • Cache Isolation Levels
      • Cache Data Expiration
      • Cache Data Format
    • Configuring Cache Cluster Settings
      • Ports
      • Operation Timeout
      • Static Replication Interval
      • Connection Retries
      • Retry Interval
    • Add Test Data to Cache
    • Deploy Providers
    • Configuring Query Indexes
    • Registering Classes for Compact Serialization
      • Registering Non-Generic Classes
      • Unregistering Non-Generic Classes
      • Registering Generic Classes
      • Registering Generic Classes Using Generic Type Handler
    • Registering Classes for Portable Data Sharing
    • Configuring Data Source Providers
      • Read-Through Provider
      • Write-Through Provider
      • Write-Through Provider for Write-Behind Operations
    • Configuring Cache Startup Loader
    • Configuring Cache Level Events
    • Configuring Cache Activity Events
    • Configuring Eviction Policy
    • Configuring Compression
    • Configuring Email Notifications
    • Binding Cluster and Client/Server IP with Multiple NICs
      • Binding Cluster with a Dedicated IP
      • Binding Client/Server with a Dedicated IP
    • Configuring Heartbeat
    • Configuring MapReduce
    • Configuring Communication Reliability
    • Auto Start Cache on Boot
    • Nagling
    • Dual Socket
    • Error Logging
    • Configuration Files
      • Client Side Configurations
        • Client Config
        • EFCaching Config
      • Server Side Configurations
        • Cache Config
        • Bridge Config
        • Security Config
      • Cache Server Configuration
  • Management Operations
    • Start Cache
    • Stop Cache
    • Restart Cache
    • Manage Cache Service on a Server Node
    • Apply Configuration
    • Hot Apply Configuration
    • Reset Configuration
    • Data Load Balancing
  • Configuring Cache Clients
    • Adding Client Node in Cluster
    • Removing Client Node from Cluster
    • Configuring Client Node Settings
    • Creating Client Cache
    • Enable Client Cache on Client Nodes
    • Disable Client Cache on Client Nodes
    • Removing Client Cache
    • Configuring Client Cache Settings
  • Configuring Security
    • Configuring Security for Cache Management
    • Configuring Security for Cache
    • Configuring Security for Client Nodes
    • Configuring Encryption for Cache
    • Configure SSL/TLS Encryption in NCache
  • Configuring Bridge for WAN Replication
    • Creating Clustered Bridge
    • Adding Clustered Caches to Bridge
    • Configuring Bridge Settings
    • Configuring Conflict Resolver
    • Changing Cache Syncronization Modes
    • Configuring Master Cache
    • Force State Transfer
    • Connect/Disconnect Cache in Bridge
    • Remove Cache from Bridge
    • Bridge Management
  • NCache on Docker
    • Using NCache Docker Images
    • Customize NCache Dockerfile
  • Monitoring NCache
    • Cache Counters
    • Monitoring Caches using NCache Manager
      • Changing Management Port of Cache Node
      • Configuring Counters to Display
      • Browse Cache Statistics
      • Cluster Health
      • Monitoring Cache Clusters using NCache Email Alerts
    • Monitoring Caches using NCache Monitor
      • Monitoring with Built-In Dashboard
      • Monitoring with Custom Dashboard
    • Monitoring Bridge using NCache Manager
    • Monitoring NCache using Windows PerfMon Tool
      • Monitoring Cache Server Counters Using PerfMon
      • Monitoring Cache Client Counters Using PerfMon
      • Monitoring Bridge Counters Using PerfMon
    • Logging in NCache
      • NCache Log Viewer
      • NCache Monitor Logging
      • Performance Counters Logging
      • Windows Event Logging
      • Email Notifications on NCache Events
      • Cache Server Logging
      • Client Side API Logging
      • Cache Event IDs
    • Troubleshooting NCache Monitoring
      • Computer Name Not Found
      • Diskperf Not Installed
      • No READ Access to the Perflib Subkeys
      • Unable to Connect to Remote Server
    • IPV6 Support
  • Upgrading NCache Versions
    • Live Upgrade NCache Version
    • Upgrade NCache Version Offline
  • Apply Windows Patches on NCache Server

Client Side API Logging

NCache Client Side API Logging is a diagnostic feature which logs all NCache API calls made by an application. This is a configurable logging mechanism that creates several log files. The purpose of API logging is to identify which API and the its sequences cause the problem, so that problem can be reproduced easily at user’s end. Client API logging saves appropriate overload of the method called along with key, data size, cache status, encryption and compression information.

Warning

API logging has a performance impact - it is recommended to enable logging only for diagnostic purposes.

Logging is an important tool that can be used to keep a record of all occurrences that take place in a distributed application along with their respective time stamps. NCache provides just such a facility that can be used to record API calls on the client side of the application in the form of log files.

This feature can be enabled to create a detailed, sequential log of NCache API calls made from the client side. This is a no code change option and is enabled by simply changing the configuration properties of your project.

The log file data can be of great use to NCache users as well the Alachisoft technical support team. The information in the log file can be used as a trace mechanism to understand and investigate problematic situations that might arise in the client side NCache API calls.

Configuring Client Side API Logging

To enable and configure client side API logging, following properties need to be added in the application's configuration file which can be App.config or Web.config depending on your application type. These settings are to be added under the <configuration> and the <appSettings> tags. The following properties need to be added in order to enable API logging for NCache API calls. Please make sure that you have added Web.dll in your project.

Enable API Logging

This is the first value that needs to be added in the configuration. This attribute tells the application whether to enable or disable the client side API logging feature. Set the value to true in order to enable logging feature in the application.

<add key="CacheClient.EnableAPILogging" value="true" />

Time Before Logging Start

After enabling the API call logging feature, you need to set the time for which the process waits before logging the API calls. This time span is given in hh:mm:ss format, which means that it is the time that the process waits before the first iteration begins. In the following example, the application will start recording logs as soon as the application starts:

<add key="CacheClient.TimeBeforeLoggingStart" value="00:00:00" />

API Log Iterations

You also need to specify the number of times the application can log the data via APILogIterations feature. NCache will only let you maintain logs for the specified number of iterations.

<add key="CacheClient.APILogIterations" value="4"  />

API Log Iteration Length

This property specifies the length of one log iteration in seconds. For example, the following code will specify that each log will be recorded continuously for one hour before a break occurs:

<add key="CacheClient.APILogIterationLength" value="3600" />

API Log Delay Between Iteration

This property sets the time interval between two consecutive iterations of API call logging for NCache clients. This time interval is set in seconds.

<add key="CacheClient.APILogDelayBetweenIteration" value="5" />

Logger Thread Logging Interval

This is the time span after logging iteration at which the logging data will be written on to the log file.

<add key="CacheClient.LoggerThreadLoggingInterval" value="5" />

Based on the settings specified above, NCache will start logging the APIs used in your application. If there is ever a situation where an issue arises and might be related to NCache, this log is another step closer to identifying the root of the problem. The log file created as a result of the feature is located at %NCHOME%\log-files.

A new folder is created once the application has finished logging by the name APIUsageLogs. All API log files will be created in the above mentioned folder, the log file name is created using the name of the cache being used and also the time stamp at which the file was created.

Back to top Copyright © 2017 Alachisoft