예제 #1
0
        public Hashtable GetAPILogging(string cacheID, string instanceID)
        {
            Hashtable data = new Hashtable();
            List <Alachisoft.NCache.Common.Monitoring.APILogging.APIRuntimeLogItem> apiLogData = null;

            try
            {
                if (cacheID != null)
                {
                    if (_forcefullStoppedLogging || _apiLogger == null)
                    {
                        throw new APILoggingException("Logging has been stopped due to connection lost");
                    }
                    if (APILogging.APILogManager.APILogManger != null)
                    {
                        long startTime = APILogger.GetInstanceStartTime(instanceID.ToLower());
                        if (startTime != -1)
                        {
                            apiLogData = APILogging.APILogManager.APILogManger.GetEntry(ref startTime);
                        }
                        lock (_lock)
                        {
                            data.Add("items", apiLogData);
                        }
                        APILogger.UpdateInstanceStartTime(instanceID.ToLower(), startTime);
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(data);
        }