package org.v8LogScanner.testV8LogScanner; import org.v8LogScanner.commonly.fsys; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; // BUILDER PATTERN class V8LogFileConstructor { private List<String> logData = new ArrayList<>(); enum LogFileTypes {TEXT, FILE} V8LogFileConstructor addEXCP() { logData.add("52:13.872002-0,EXCP,0,process=1cv8c,setTerminateHandler=setTerminateHandler"); logData.add("52:13.887000-0,EXCP,0,process=1cv8c,setUnhandledExceptionFilter=setUnhandledExceptionFilter"); logData.add("52:17.725002-0,EXCP,2,process=1cv8c,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='src\\VResourceSessionImpl.cpp(507)"); return this; } V8LogFileConstructor addUserEXCP() { logData.add("46:27.120000-0,EXCP,3,process=rphost,p:processName=test,t:clientID=77,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=13,SessionID=13,Usr=DefUser,AppID=1CV8C,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='src\\VResourceInfoBaseImpl.cpp(1031):" + "580392e6-ba49-4280-ac67-fcd6f2180121: Non-specified resource error" + "Error executing the query POST to resource /e1cib/logForm:" + "8d366056-4d5a-4d88-a207-0ae535b7d28e: {Обработка.Взаимоблокировки.Форма.Форма.Форма(397)}: Искуственный EXCP'"); return this; } V8LogFileConstructor addTLOCK() { logData.add("05:15.349002-15980,TLOCK,6,process=rphost,p:processName=BP30SQL,t:clientID=4,t:applicationName=1CV8,t:computerName=yardnout,t:connectID=17,SessionID=27,Usr=Абдулов (директор),AppID=1CV8,Regions=Reference28054.REFLOCK,Locks='Reference28054.REFLOCK Exclusive Fld521=0 ID=28054:82b974867a58e0a211e7b64938b35cf4',WaitConnections=,Context='ОбщийМодуль.Вызов : ОбщийМодуль.ТЦСервер.Модуль.УдалитьКлиентскоеПриложениеИзСписка" + "ОбщийМодуль.ТЦСервер.Модуль : 6621 : НовыйОбъект.Удалить();'"); return this; } V8LogFileConstructor addTDEADLOCK() { logData.add("45:36.115007-0,TDEADLOCK,6,process=rphost,p:processName=test,t:clientID=56,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=17,SessionID=62,Usr=DefUser,AppID=1CV8C,DeadlockConnectionIntersections='17 18 Reference10.REFLOCK Exclusive ID=10:9d31eb60b487eef9426efe8ac93cf86c,18 17 Reference10.REFLOCK Exclusive ID=10:95aae4f5c33133584335e2ca22f204fd',Context='Форма.Вызов : Обработка.Взаимоблокировки.Форма.Форма.Модуль.ВзаимоблокировкаНаСервере" + "\nОбработка.Взаимоблокировки.Форма.Форма.Форма : 32 : ВзаимоблокировкаЗахватРесурсовВРазномПорядке();" + "\nОбработка.Взаимоблокировки.Форма.Форма.Форма : 91 : ЭлементОбъект2.Записать();'"); return this; } V8LogFileConstructor addTTimeout() { logData.add("32:27.857000-0,TTIMEOUT,5,process=rphost,p:processName=test,t:clientID=52,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=19,SessionID=19,Usr=DefUser,AppID=1CV8C,WaitConnections=18,Context=Форма.Записать : Документ.ДокументДляБлокировки.ФормаОбъекта"); return this; } V8LogFileConstructor addSQlDEADLOCK() { logData.add("51:51.119000-0,EXCP,6,process=rphost,p:processName=test,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=22,SessionID=65,Usr=DefUser,AppID=1CV8C,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='src\\VResourceInfoBaseImpl.cpp(1031):" + "\n580392e6-ba49-4280-ac67-fcd6f2180121: Non-specified resource error" + "\nError executing the query POST to resource /e1cib/logForm:" + "\n8d366056-4d5a-4d88-a207-0ae535b7d28e: {Обработка.Взаимоблокировки.Форма.Форма.Форма(90)}: Error calling context method (ПолучитьОбъект)" + "\nf08d92f8-9eb2-4e19-9dd9-977d907cec2d" + "\ndc31263e-ecbf-41bd-9b3a-7b55897d5fd6: Lock conflict during transaction:" + "\nMicrosoft SQL Server Native Client 11.0: Transaction (Process ID 55) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction./;" + "\nHRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=33, Severity=D, native=1205, line=1"); return this; } V8LogFileConstructor addSQlTimeout() { logData.add( "51:50.126000-0,EXCP,6,process=rphost,p:processName=test,t:clientID=110,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=24,SessionID=18,Usr=DefUser,AppID=1CV8C,Exception=DataBaseException,Descr='Lock conflict during transaction:" + "\nMicrosoft SQL Server Native Client 11.0: Lock request time out period exceeded." + "\nHRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=33, Severity=10, native=1222, line=1" + "\n',Context=Форма.Записать : Документ.ДокументДляБлокировки.ФормаОбъекта"); return this; } V8LogFileConstructor addDBMSSQL() { logData.add("41:58.067005-1,DBMSSQL,2,process=rphost,p:processName=test,t:clientID=59,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=18,SessionID=63,Usr=DefUser,AppID=1CV8C,Trans=0,dbpid=54,Sql=\"{call sp_executesql(N'SELECT Creation,Modified,Attributes,DataSize,BinaryData FROM Config WHERE FileName = @P1 ORDER BY PartNo', N'@P1 nvarchar(128)', N'40047d1f-4006-473a-a10f-4110ae135d02')}\",Rows=1,Context=Система.ПолучитьФорму : Документ.ПоступлениеТоваров.ФормаОбъекта"); return this; } V8LogFileConstructor addDBMSSQLUserRIP() { logData.add("41:58.067005-1,DBMSSQL,2,process=rphost,p:processName=test,t:clientID=59,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=18,SessionID=63,Usr=RIP,AppID=1CV8C,Trans=0,dbpid=54,Sql=\"{call sp_executesql(N'SELECT Creation,Modified,Attributes,DataSize,BinaryData FROM Config WHERE FileName = @P1 ORDER BY PartNo', N'@P1 nvarchar(128)', N'40047d1f-4006-473a-a10f-4110ae135d02')}\",Rows=1,Context=Система.ПолучитьФорму : Документ.ПоступлениеТоваров.ФормаОбъекта"); return this; } V8LogFileConstructor addSDBL() { logData.add(";21:04.471025-6844025,SDBL,2,process=rphost,p:processName=test,t:clientID=59,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=18,SessionID=63,Usr=DefUser,AppID=1CV8C,Trans=0,Func=HoldConnection,Context=Форма.Вызов :Обработка.Взаимоблокировки.Форма.Форма.Модуль.УправляемаяВзаимоблокировкаНаСервере"); return this; } V8LogFileConstructor addDBMSSQlWithPlan() { logData.add( "32:32.965000-30993,DBMSSQL,2,process=rphost,p:processName=test,t:clientID=24,t:applicationName=1CV8C,t:computerName=yardnout,t:connectID=10,Trans=0,dbpid=55,Sql=select Offset from _YearOffset,Rows=1,RowsAffected=-1,planSQLText='" + "\n1, 1, 1, 0.0032, 7.96E-005, 11, 0.00328, 1, |--Table " + "\nScan(OBJECT:([test].[dbo].[_YearOffset]))" + "\n'" ); return this; } V8LogFileConstructor addHASP() { logData.add("22:03.504001-45998,HASP,1,process=1cv8c,Txt='" + "NETHASP_HASPQUERYLICENSE(,prog=17,ser=ORGL8,,,,)->CurUsr=100,UsrLim=100,type=100,remain=65535'"); return this; } V8LogFileConstructor addVRSREQUEST() { logData.add("29:39.030000-0,VRSREQUEST,3,process=1cv8c,Method=GET,URI='/e1cib/modules/src?id=urn%3Amodule%3Amd%3Ae5dca369-dc9a-4332-a509-f734b8787e13%40property%3D%27d5963243-262e-4398-b4d7-fb16d06484f6%27%3Bversion%3D%2765e44a747bd02b4085c869b735501c4b00000000%27&sysver=8.3.9.2233&confver=81c6d539c2d4f93ed568109bb2d51078fc80cfd8',Headers='1C-ConnectString: Srvr=\"SRVAPP1CAGRO01\";Ref=\"agroholding\";" + "Accept-Charset: utf-8" + "1C-ApplicationName: 1CV8C" + "User-Agent: 1CV8C" + "Accept-Encoding: deflate,1CSDC;q=0.5" + "Accept: text/plain" + "Accept-Language: ru-RU" + "Cookie: $Version=1;vrs_session=50bd2adc-de0d-4396-b5fb-b5f4ee171da7;$Path=/;vrs_refresh=1;$Path=/" + "1C-BaseLocation: e1c://server/SRVAPP1CAGRO01/agroholding',Body=0,Cached=1,Context='" + "МодульУправляемогоПриложения : 78 : СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();" + "ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль : 309 : ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(\"СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы\"," + "ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль : 2751 : Проверить(ЭтоКорректныйТип, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НедопустимыйПараметр,'"); return this; } V8LogFileConstructor addVRSRESPONSE() { logData.add("29:39.061001-0,VRSRESPONSE,3,process=1cv8c,Status=200,Phrase=OK,Headers='Content-Type: text/plain; charset=utf-8" + "Cache-Control: private, max-age=31536000" + "Content-Language: ru-RU" + "Content-Length: 10993" + "Content-Encoding: deflate" + "Server: 1C:Enterprise/8.3.9.2233',Body=10993,Context='" + "МодульУправляемогоПриложения : 78 : СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();" + "ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль : 309 : ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(\"СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы\"," + "ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль : 2751 : Проверить(ЭтоКорректныйТип, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НедопустимыйПараметр,')"); return this; } V8LogFileConstructor adddQERR() { logData.add(";22:25.629039-0,QERR,2,process=rphost,p:processName=agroholding,t:clientID=594,t:applicationName=BackgroundJob,t:computerName=srvapp1cagro01,t:connectID=867,SessionID=676,Usr=СкрябинаТВ,Descr=Сеанс работы завершен администратором.,Query='SELECT ALLOWED" + "Ссылка AS Ссылка,Presentation AS Presentation,ValueType AS ValueType" + "FROM ChartOfCharacteristicTypes.ДолжностиПодключаемыеХарактеристики" + "WHERE Используется = TRUE'"); return this; } String build(LogFileTypes type) { String preparedText = String.join("\n", logData); switch (type) { case TEXT: return preparedText; case FILE: return fsys.createTempFile(preparedText); default: return ""; } } static void deleteLogFile(String fileName) { try { Files.deleteIfExists(Paths.get(fileName)); } catch (IOException e) { e.printStackTrace(); } } }