Consulta sobre log de 3w en Producción

hola Estimadas/os
Quería consultar si es factible que el log de que se genera en

3w/instalacion/log//

sea un único archivo para todas las operaciones

desde ya muchas gracias!

saludos
Lucas

Hola! Si es factible!
podemos generar un solo archivo dentro del bloque de acceso!.
Pero te pregunto lo siguiente, ya que nos interesa saber su realidad.

[ol]- ¿ Están en producción y les genera muchos archivos ‘log’ ?

  • ¿ Cuales serian los beneficios que obtendrían al tener los logs en un archivo ?[/ol]

Gracias!

hola Federico, van las respuestas:
1 Si. Estamos en producción. Lo tenemos desactivado por que genera muchísimos archivos por cada operación que los usuarios realizan. Razón por la cual se colapsa el sistema de archivos del Nfs que usamos. (100 mil alumnos y 10 mil docentes).

2 Si es un solo archivo seria un solo inode para el sistema de archivos. Aunque seria de un tamaño grande lo podríamos rotar. Creemos que puede funcionar

saludos
Lucas

Hola Lucas, agrego a lo de Fede:

1 Si. Estamos en producción. Lo tenemos desactivado por que genera muchísimos archivos por cada operación que los usuarios realizan. Razón por la cual se colapsa el sistema de archivos del Nfs que usamos. (100 mil alumnos y 10 mil docentes).

En el archivo instalacion/config.php si configuras de la siguiente manera solo va a generar archivos de logs cuando ocurra un error:


'log' =>
		[
			'activo' => true,
			/**
			 * Niveles de log: 
			 *  - 'log::NIVEL_DEBUG'	-> Recomendado en Desarrollo
			 *  - 'log::NIVEL_INFO'		-> Solo muestra información de tiempo y memoria consumida
			 *  - 'log::NIVEL_ERROR'	-> Recomendado en Producción
			 */
			'nivel' => log::NIVEL_ERROR,

Seguramente lo dejaste en ‘nivel’ => log::NIVEL_DEBUG, y eso hace que genere un archivo de log por cada request/petición.

2 Si es un solo archivo seria un solo inode para el sistema de archivos. Aunque seria de un tamaño grande lo podríamos rotar. Creemos que puede funcionar

Hay una forma de hacer que se genere solo un archivo de logs como hace Gestión con el archivo instalacion/i__desarrollo/p__guarani/logs/sistema.log, vas a tener que editar el archivo vendor/siu/chulupi-framework/src/SIU/Chulupi/util/log/log.php de la siguiente forma:

Función __construct, reemplazar $this->id = date(“Ymd_His___” . rand(1000, 9999)); por $this->id = “sistema”; (‘sistema’ o el nombre que quieras que tenga el archivo de log).

Función guardar, reemplazar $salida = ‘’; por $salida = $this->titulo_seccion("Fecha: " . date(“d/m/Y H:i:s”));.

Función guardar, reemplazar file_put_contents($path_log, $salida); por file_put_contents($path_log, $salida, FILE_APPEND);.

Esto también es aplicable a Preinscripción, pero tene cuidado porque al ser un cambio dentro de vendor no esta versionado y se perderá al actualizar de versión del framework Chulupí.

saludos.
4

muchas Gracias Leonel!!
hacemos las pruebas y les cuento como nos fue

saludos
Lucas

hola Leonel
Hicimos este cambio en una instalación de test y funcionó perfecto. Lo hicimos para 3w y prescripción.
Ahora vamos a analizar como llevarlo a producción.

Muchas gracias!
saludos
Lucas