From 44f313bf1d3c14cb965556970f87ca38dd7c8dd9 Mon Sep 17 00:00:00 2001 From: Marcel Bourseau Date: Wed, 26 Apr 2023 15:38:40 +0000 Subject: [PATCH] MARX#76390 Kan oude logging van de SYNC adapter automatisch opgeruimd worden - Nieuwe optionele instelling "common/" svn path=/Mareon/trunk/; revision=60224 --- ax/SRC/AxFacilitor.js | 16 ++++++++++++++-- ax/SRC/Common.js | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/ax/SRC/AxFacilitor.js b/ax/SRC/AxFacilitor.js index f1e6d62..877c124 100644 --- a/ax/SRC/AxFacilitor.js +++ b/ax/SRC/AxFacilitor.js @@ -734,8 +734,11 @@ function FACILITOR_2_Xtractor() // 1.70 -- MARX#76415: Mareon koppeling met 3rd Party Viewpoint + MARX#74444: Het '&' teken in de naam van een bijlage wordt niet ondersteund in de sync. // 1.71 -- MARX#76342: Mareon Bijlagen aanpassing AX2012 via nieuwe webservices die base64 stuk voor stuk ophaalt tbv performance // 1.72 -- MARX#77225: Bugje statusbericht naar 3RD party Viewpoint/Itris + MARX#76900 Mareon Universele Opdracht API +// 1.73 -- MARX#76390: Kan oude logging van de SYNC adapter automatisch opgeruimd worden -var G_Mareon_Adapter = "1.72"; +__Log("************************************************** START Mareon Adapter ***********************************************", 0); + +var G_Mareon_Adapter = "1.73"; //MARX#56643: Test Haagwonen inkoopordernummer ontbreekt in Mareon ION001753 var G_new_date = new Date(); //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -747,7 +750,11 @@ var fso = new ActiveXObject("Scripting.FileSystemObject"); var G_settings_xml_file = WScript.Arguments(0); var G_log_level = Read_Ini_Setting("common","logging"); -__Log("************************************************** START Mareon Adapter ***********************************************", 0); +var G_log_clean_days = Read_Ini_Setting("common","clean_log_days"); +//MARX#76390 Kan oude logging van de SYNC adapter automatisch opgeruimd worden +//Defaultwaarde is 90 dagen, oftewel logbestanden worden zonder instelling van meer dan 3 maanden geleden opgeruimd. +//Als er niet opgeruimd moet worden, stel dan waarde -1 in (in de XML), dan wordt het verwijderen van oude LOG-bestanden overgeslagen. +if (!G_log_clean_days) G_log_clean_days = 90; var G_ax_url = Read_Ini_Setting("ax","url"); var G_ax_url_serviceax = Read_Ini_Setting("ax","url_serviceax"); @@ -819,6 +826,7 @@ var G_mar_timeout = 0; //initieel 1e keer. //Eerst de xml settings loggen __Log("***XML- common/logging: " + G_log_level, 1); + __Log("***XML- common/clean_log_days: " + G_log_clean_days, 1); __Log("***XML- ax/url(SupplierService): " + G_ax_url, 1); __Log("***XML- ax/url(ServiceAX): " + G_ax_url_serviceax, 1); __Log("***XML- ax2012/url(SupplierService): " + G_ax2012_url, 1); @@ -1010,5 +1018,9 @@ var G_mar_timeout = 0; //initieel 1e keer. if (v_date_sendlogfile != "") { FCLT_SendLogFile(v_date_sendlogfile); + } + if (G_log_clean_days != -1) + { + CleanUp_Old_Logfiles(G_log_clean_days); } } diff --git a/ax/SRC/Common.js b/ax/SRC/Common.js index 0f567f0..61b213b 100644 --- a/ax/SRC/Common.js +++ b/ax/SRC/Common.js @@ -1589,6 +1589,44 @@ function __Log(s, level) } } + +// Logbestanden van meer dan p_delta_dagen geleden worden verwijderd, +// B.v. van meer dan 3 maanden geleden zou dan (bij benadering) p_delta_dagen = 3*30 dagen = 90 zijn. +function CleanUp_Old_Logfiles(p_delta_dagen) +{ + __Log("Starting CleanUp_Old_Logfiles: " + p_delta_dagen, 1); + var l_logfolder = GetLogFolder(); + var f = fso.GetFolder(l_logfolder); + var fc = new Enumerator(f.files); + var dt_sysdate = new Date; + + for (; !fc.atEnd(); fc.moveNext()) + { + var filename = fc.item().name; + __Log("File: " + filename, 2); + var l_filename_incl_path = l_logfolder + '/' + filename; + var file = fso.GetFile(l_filename_incl_path); + // We doen niet DateCreated maar DateLastModified, een bestand gaat weg als die meer dan "p_delta_dagen" dagen niet aangepast is... + var dt_file = new Date(file.DateLastModified); + var l_pos = filename.toUpperCase().lastIndexOf(".LOG"); + + if (filename.toUpperCase().substring(l_pos) == ".LOG") { + // Bestandsnaam op extensie .log + __Log("File: " + filename, 3); + var l_delta_dagen = (dt_sysdate.getTime() - dt_file.getTime())/1000/60/60/24; + __Log("l_delta_dagen: " + l_delta_dagen, 3); + if (l_delta_dagen > p_delta_dagen) + { + // Logbestand is aangemaakt op datum langer dan 'p_delta_dagen' geleden. + // We verwijderen deze... + fso.DeleteFile(l_filename_incl_path); + __Log("(Old) Logfile deleted: " + filename, 1); + } + } + } + __Log("Ending CleanUp_Old_Logfiles", 1); +} + //Maak nieuwe folder. //bv. p_folder = c:/temp/maaknieuwefolder, dan worden folders temp en maaknieuwefolder nieuwe anagemaakt (als ze nog niet bestonden) function CreateFolder(p_folder){