-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLog.class.php
More file actions
128 lines (110 loc) · 3.88 KB
/
Log.class.php
File metadata and controls
128 lines (110 loc) · 3.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
class Log
{
/* ***************************
--------About / Acerca de ----------
-Licence/Licencia: GPL (Usar, Compartir, Estudiar y Modificar libremente esta clase)
-Author/Autor: Facundo Giardino
-IMPORTANTE: Modificar el $path y el $pathMovs, el directorio donde quieras que se generan los logs (errores) y los movs (movimientos)
************************* */
private $path;
private $pathMovs;
public function __construct()
{
$this->path = getcwd() . "\errores\\"; //MODIFICAR EL DIRECTORIO DONDE SE GENEREN LOS LOGS
$this->pathMovs = getcwd() . "\movimientos\\"; //MODIFICAR EL DIRECTORIO DONDE SE GENEREN LOS MOVIMIENTOS
}
//setea el directorio de los errores
public function setPath($directorio)
{
$this->path = $directorio;
}
//Retorna el string del directorio donde se encuentra la carpeta q contendra a los logs, (lo usa -devuelveNombreLogActual-)
public function getPath()
{
return $this->path;
}
//setea el directorio de los movimientos
public function setPathMovs($directorio)
{
$this->pathMovs = $directorio;
}
public function getPathMovs()
{
return $this->pathMovs;
}
//-----------------------ERRORES----------------------//
// ingresa un mensaje en el Log de Errores
public function generarLog($mensaje)
{
$nombreLog = self::devuelveNombreLogActual();
$log = fopen("$nombreLog", 'a');
fwrite($log, "[Fecha: " . date("d-M-Y") . "] [Hora: " . date('H:m:s') . "][Error]: $mensaje \r\n"); //dar un salto en linea para mostrarlo en el HTML
fclose($log);
}
//muestra el Log de Errores en una tabla separando linea a linea ($cantidad = cantidad de lineas a mostrar)
public static function mostrarLog($cantidad)
{
$errores = file_get_contents(self::devuelveNombreLogActual());
$array = explode("\n", $errores);
$i = count($array) - 2; // - 2 ya que el ultimo elemento siempre sera un salto de linea
if ($cantidad > count($array)) {
$cantidad = count($array) - 1;
}
echo "<table border='1' align='center' width='1000px'>";
while ($i > (count($array) - 2 - $cantidad)) //le resto - 2 ya que son las lineas perdidas
{
echo "<tr><td>";
echo $array[$i];
echo "</td></tr>";
$i--;
}
echo "</table>";
}
//genera un nombre de Log con el path, "log" y la fecha actual (se genera uno por dia)
public static function devuelveNombreLogActual()
{
$objeto = new Log();
$nombre = $objeto->getPath();
$nombre .= "log";
$nombre .= date('dmY');
$nombre .= ".log";
return $nombre;
}
//-----------------------MOVIMIENTOS----------------------//
public static function generarMov($mensaje)
{
$nombreMov = self::devuelveNombreMovActual();
$mov = fopen("$nombreMov", 'a');
fwrite($mov, "[Fecha: " . date("d-M-Y") . "] [Hora: " . date('H:m:s') . "] [Movimiento]: $mensaje \r\n"); //dar un salto en linea para mostrarlo en el HTML
fclose($mov);
}
//muestra el Log de Errores en una tabla separando linea a linea ($cantidad = cantidad de lineas a mostrar)
public static function mostrarMov($cantidad)
{
$movimientos = file_get_contents(self::devuelveNombreMovActual());
$array = explode("\n", $movimientos);
$i = count($array) - 2; // - 2 ya que el ultimo elemento siempre sera un salto de linea
if ($cantidad > count($array)) {
$cantidad = count($array) - 1;
}
echo "<table border='1' align='center' width='1000px'>";
while ($i > (count($array) - $cantidad - 2)) //le resto - 2 ya que son las lineas perdidas
{
echo "<tr><td>";
echo $array[$i];
echo "</td></tr>";
$i--;
}
echo "</table>";
}
protected static function devuelveNombreMovActual()
{
$objeto = new Log();
$nombre = $objeto->getPathMovs();
$nombre .= "Mov";
$nombre .= date('dmY');
$nombre .= ".log";
return $nombre;
}
}