Name

sn_ci_diagnostics.LogReader

Description

No description available

Script

var LogReader = Class.create();
LogReader.prototype = {
  initialize: function() {
  },
  
  read: function(encodedQuery, limit, orderBy, table) {
  	encodedQuery = encodedQuery || '';
  	limit = limit || 0;
  	orderBy = orderBy || '';
  	var QUERY_STR = [
  		'var logs = [];',
  		'var gr = new GlideRecord("'+ table + '");',
  		encodedQuery ? 'gr.addEncodedQuery("' + encodedQuery + '");' : '',
  		limit ? 'gr.setLimit("' + limit + '");' : '',
  		orderBy ? 'gr.orderByDesc("' + orderBy + '");' : '',
  		'gr.query();',
  		'while (gr.next()) {',
  		'    logs.push({',
  		'        source: gr.getValue("source"),',
  		'        message: gr.getValue("message"),',
  		'        level: gr.getValue("level"),',
  		'        sys_id: gr.getValue("sys_id"),',
  		'        created_on: gr.getValue("sys_created_on"),',
  		'        response_time: gr.getValue("response_time"),',
  		'        oauth_oidc_entity: gr.getValue("oauth_oidc_entity"),',
  		'    });',
  		'}',
  		'answer = JSON.stringify(logs);'
  	].join('\n');
  	
  	// Get a script include in the current scope	
  	var gse = new GlideScopedEvaluator();
  	
  	var gr = new GlideRecord('sys_script_include');
  	gr.get('e78d5dda532d7010f738ddeeff7b120d'); // Should be in CI scope
  	gr.setValue('script', QUERY_STR);
  	gr.setValue('sys_scope', 'global');		
  	var result = gse.evaluateScript(gr, 'script', {});
  	try {
  		var parsedResult = JSON.parse(result);
  		return parsedResult;
  	} catch (e) {
  		return result;
  	}		
  },

  type: 'LogReader'
};

Sys ID

b42d99da532d7010f738ddeeff7b12b1

Offical Documentation

Official Docs: