Client-side API Logging
NCache Client Side API Logging is a diagnostic feature that 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 its sequences cause the problem so that the problem can be reproduced easily at the 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 timestamps. NCache provides just the 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 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, the 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 to enable API logging for NCache API calls. Please make sure that you have added Web.dll to your project.
Enable API Logging
This is the first value that needs to be added to 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 the 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 the 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 timespan after logging iteration at which the logging data will be written onto 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
(Windows) or /opt/ncache/log-files
(Linux).
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.
See Also
NCache Log Viewer
Performance Counters Logging
Email Notifications on NCache Events