Fix procedura di shrink directory x log

This commit is contained in:
Samuele E. Locatelli
2019-01-17 13:15:57 +01:00
parent f8a1bd423c
commit 86f7104248
3 changed files with 46 additions and 6 deletions
+32 -2
View File
@@ -1,4 +1,4 @@
using NLog;
using NLog;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -492,8 +492,13 @@ namespace IOB_UT
/// </summary>
public static void shrinkDir(string dirPath)
{
// ottengo elenco files *.txt
Logger lg = LogManager.GetCurrentClassLogger();
// obj filemover...
fileMover.obj.setDirectory(dirPath);
float dirSizeMb = fileMover.obj.totalMb();
lg.Info("Inizio shrinkDir LOG folder: {0} Mb", dirSizeMb);
// ottengo elenco files *.txt
FileInfo[] _fis = fileMover.obj.elencoFiles_FI("*.log");
int numDdMax = 2;
try
@@ -511,6 +516,31 @@ namespace IOB_UT
fileMover.obj.eliminaFile(_file);
}
}
// ora controllo SE sia superata la dim max della directory --> in tal caso cancello dal + vecchio...
dirSizeMb = fileMover.obj.totalMb();
int maxLogDirSize = CRI("maxLogDirSize");
int maxTry = 100;
// controllo se serva eliminare...
if (dirSizeMb > maxLogDirSize)
{
lg.Info("Continuo shrinkDir LOG folder: {0} Mb --> ELIMINAZIONE FILES", dirSizeMb);
while (dirSizeMb > maxLogDirSize)
{
fileMover.obj.deleteOldest();
maxTry--;
if (maxTry > 0)
{
dirSizeMb = fileMover.obj.totalMb();
}
else
{
// per uscire fingo di aver ridotto...
dirSizeMb = maxLogDirSize - 1;
}
}
dirSizeMb = fileMover.obj.totalMb();
lg.Info("Completata shrinkDir LOG folder: {0} Mb", dirSizeMb);
}
}
}
/// <summary>
+13 -4
View File
@@ -915,14 +915,23 @@ theEntry.Name;
FileInfo[] _fis = _di.GetFiles();
DateTime _oldest = DateTime.Now;
string _nome = "";
foreach (FileInfo _file in _fis)
try
{
if (_file.CreationTime < _oldest)
FileInfo _currFI = _fis[0];
foreach (FileInfo _file in _fis)
{
_nome = _file.Name;
if (_file.LastWriteTime < _oldest)
{
_nome = _file.Name;
_oldest = _file.LastWriteTime;
_currFI = _file;
}
}
//eliminaFile(_nome);
eliminaFile(_currFI);
}
eliminaFile(_nome);
catch
{ }
}
#endregion
+1
View File
@@ -68,6 +68,7 @@
<add key="verbose" value="false"/>
<add key="logEvery" value="2"/>
<add key="zipLogOldDay" value="1"/>
<add key="maxLogDirSize" value="40"/>
<add key="numRowConsole" value="20"/>
<add key="verboseLogTOut" value="60"/>
<!--conf x FANUC-->