Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1.  
  2.  
  3.  
  4. //—ценарий парсинга лога программы "»зумруд" на предмет сообщений об ошибках
  5. //JScript.
  6. //2017 г.
  7. //дл¤ запуска использовать bat - файл с командой : CScript им¤_файла_сценари¤.js %1 //nologo
  8. var file=""; //полное им¤ файла лога.
  9. var logArr=[];//вектор имен папок с логами
  10. var pattern = new RegExp("(сбой)|(err.*)|(.*ќшиб.*)|(.*расс.*)", "i"); //Ўаблон RegExp
  11. var buf = "";
  12. var objArgs=WScript.Arguments; //аргументы запуска сценари¤
  13. var fso=WScript.CreateObject("Scripting.FileSystemObject");
  14. var fold = fso.GetFolder("C:\\DataIzumrud\\Journals");
  15. var subfold = new Enumerator(fold.SubFolders);
  16. for (; !subfold.atEnd();subfold.moveNext()){
  17. var oFolder=subfold.item();
  18. logArr.push(oFolder.name);
  19. }
  20. logArr.sort(); //сортировка с целью определени¤ самого нового лога.
  21. file= "C:\\DataIzumrud\\Journals\\"+logArr[logArr.length-1]+"\\izumrud.log";
  22.  
  23. //если есть аргумент имени файла - происходит его открытие
  24. if (objArgs.length>0){
  25. file = objArgs(0);
  26. }
  27. while(1){
  28. //вывод сообщений об ошибках
  29. WScript.Echo("‘айл:"+file+":\n*******************************************************************************");
  30. if (fso.FileExists(file)){
  31. var txtStream=fso.OpenTextFile(file);
  32. //чтение всех строк лога и вывод только удовлетвор¤ющих шаблону.
  33. while(!txtStream.atEndOfStream){
  34. buf=txtStream.ReadLine();
  35. if(pattern.test(buf)){
  36. WScript.Echo(buf);
  37. }
  38. }
  39. }else{
  40. //если файл лога не существует.
  41. WScript.Echo("File \'"+file+"\'not found");
  42. WScript.Quit(1);
  43.  
  44. WScript.Echo("\n*******************************************************************************");
  45. }
  46. }
  47. WScript.Echo("ƒля закрытия нажмите Enter");
  48. //предотвращение автоматического закрыти¤ окна терминала
  49. WScript.StdIn.ReadLine();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement