Fix procedura di shrink directory x log
This commit is contained in:
+32
-2
@@ -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
@@ -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
|
||||
|
||||
@@ -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-->
|
||||
|
||||
Reference in New Issue
Block a user