|
| 1 | +<?xml version="1.0" encoding="UTF-8"?><record_update table="sys_script_fix"> |
| 2 | + <sys_script_fix action="INSERT_OR_UPDATE"> |
| 3 | + <before>false</before> |
| 4 | + <description>This utility script helps in finding the various log statements which are against the bad practices such as gs.log,gs.info,console.log etc should bot be used in production environment. The script returns the line numbers where such statements are used which can help identify such statements.</description> |
| 5 | + <name>Scan for log statements</name> |
| 6 | + <record_for_rollback>true</record_for_rollback> |
| 7 | + <script><![CDATA[var tableName = 'sys_script'; |
| 8 | +var sysId = '3b59c70d47441210788164f2e16d4386'; |
| 9 | +var gr = new GlideRecord(tableName); |
| 10 | +gr.addQuery('sys_id',sysId); |
| 11 | +gr.query(); |
| 12 | +var script = ""; |
| 13 | +if(gr.next()){ |
| 14 | + script = gr.getValue('script'); |
| 15 | +} |
| 16 | +
|
| 17 | +var logStatements = ['gs.log', 'gs.info', 'gs.debug', 'console.log', 'gs.print']; |
| 18 | +
|
| 19 | +// Split the script into lines |
| 20 | +var lines = script.split("\n"); |
| 21 | +
|
| 22 | +// Array to store line numbers where log statements are found |
| 23 | +var logLineNumbers = []; |
| 24 | +
|
| 25 | +// Iterate over each line and check for log statements |
| 26 | +for (var i = 0; i < lines.length; i++) { |
| 27 | + var line = lines[i]; |
| 28 | + // Check if the line contains any of the log statements |
| 29 | + for (var j = 0; j < logStatements.length; j++) { |
| 30 | + if (line.includes(logStatements[j])) { |
| 31 | + logLineNumbers.push(i + 1); // Line numbers are 1-based, so we add 1 |
| 32 | + break; // No need to check further for this line |
| 33 | + } |
| 34 | + } |
| 35 | +} |
| 36 | +
|
| 37 | +// Output the line numbers with log statements |
| 38 | +gs.print('Log statements found at line numbers: ' + logLineNumbers.join(', ')); |
| 39 | +]]></script> |
| 40 | + <sys_class_name>sys_script_fix</sys_class_name> |
| 41 | + <sys_created_by>admin</sys_created_by> |
| 42 | + <sys_created_on>2024-10-21 13:49:57</sys_created_on> |
| 43 | + <sys_id>5c5dd84747d95210788164f2e16d43b8</sys_id> |
| 44 | + <sys_mod_count>0</sys_mod_count> |
| 45 | + <sys_name>Scan for log statements</sys_name> |
| 46 | + <sys_package display_value="Example Instance Checks" source="x_appe_exa_checks">ca8467c41b9abc10ce0f62c3b24bcbaa</sys_package> |
| 47 | + <sys_policy/> |
| 48 | + <sys_scope display_value="Example Instance Checks">ca8467c41b9abc10ce0f62c3b24bcbaa</sys_scope> |
| 49 | + <sys_update_name>sys_script_fix_5c5dd84747d95210788164f2e16d43b8</sys_update_name> |
| 50 | + <sys_updated_by>admin</sys_updated_by> |
| 51 | + <sys_updated_on>2024-10-21 13:49:57</sys_updated_on> |
| 52 | + <unloadable>false</unloadable> |
| 53 | + </sys_script_fix> |
| 54 | + <sys_es_latest_script action="INSERT_OR_UPDATE"> |
| 55 | + <id>5c5dd84747d95210788164f2e16d43b8</id> |
| 56 | + <sys_created_by>admin</sys_created_by> |
| 57 | + <sys_created_on>2024-10-21 13:49:56</sys_created_on> |
| 58 | + <sys_id>3cfd1c4747d95210788164f2e16d434f</sys_id> |
| 59 | + <sys_mod_count>0</sys_mod_count> |
| 60 | + <sys_updated_by>admin</sys_updated_by> |
| 61 | + <sys_updated_on>2024-10-21 13:49:56</sys_updated_on> |
| 62 | + <table>sys_script_fix</table> |
| 63 | + <use_es_latest>true</use_es_latest> |
| 64 | + </sys_es_latest_script> |
| 65 | +</record_update> |
0 commit comments