Añado los fuentes de java
This commit is contained in:
@@ -0,0 +1,235 @@
|
||||
/**
|
||||
* @(#) LogTarisan.java
|
||||
*/
|
||||
|
||||
package com.tarisan.log;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Properties;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.log4j.Priority;
|
||||
import org.apache.log4j.PropertyConfigurator;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Gestión de mensajes de log para la aplicación Tarisan.
|
||||
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
|
||||
* @version 1.0, 24/09/2003
|
||||
*/
|
||||
public class LogTarisan
|
||||
{
|
||||
/**
|
||||
* Gestor de las operaciones de escritura en el fichero de log.
|
||||
*/
|
||||
public static Logger logger = null;
|
||||
|
||||
/**
|
||||
* Valor por defecto para el nombre del fichero de log.
|
||||
*/
|
||||
public static final String DEF_LOG_FICHERO = "log_tarisan.txt";
|
||||
|
||||
/**
|
||||
* Valor por defecto para el directorio por defecto donde se reside el fichero de log.
|
||||
*/
|
||||
public static final String DEF_LOG_PATH = System.getProperty("user.dir");
|
||||
|
||||
/**
|
||||
* Valor por defecto para el tamaño del fichero de logs.
|
||||
*/
|
||||
public static final String DEF_LOG_TAMANO = "1MB";
|
||||
|
||||
/**
|
||||
* Valor por defecto para el número máximo de ficheros de log.
|
||||
*/
|
||||
public static final int DEF_LOG_NUMERO = 1;
|
||||
|
||||
/**
|
||||
* Valor por defecto para el nivel de escritura de log.
|
||||
*/
|
||||
public static final String DEF_LOG_NIVEL = "INFO";
|
||||
|
||||
/**
|
||||
* Cadena con el nivel de escritura en el fichero de log.
|
||||
*/
|
||||
private static String nivel;
|
||||
|
||||
/**
|
||||
* Nombre del fichero donde se escribirán los mensajes de log de Tarisan.
|
||||
*/
|
||||
private static String nombreFichero;
|
||||
|
||||
/**
|
||||
* Número máximo de ficheros de backup del log que se generarán.
|
||||
*/
|
||||
private static int numeroFicheros;
|
||||
|
||||
/**
|
||||
* Ruta en la que se almacenarán los ficheros de log.
|
||||
*/
|
||||
private static String pathFichero;
|
||||
|
||||
/**
|
||||
* Nivel mínimo de escritura de log (sólo se escriben las entradas de log definidas con este valor).
|
||||
*/
|
||||
public static final int PRODUCCION = 1;
|
||||
|
||||
/**
|
||||
* Tamaño máximo de cada uno de los ficheros de log.
|
||||
*/
|
||||
private static String tamanoFichero;
|
||||
|
||||
/**
|
||||
* @return El nivel de log.
|
||||
*/
|
||||
public static String getNivel()
|
||||
{
|
||||
return nivel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return El nombre del fichero de log.
|
||||
*/
|
||||
public static String getNombreFichero()
|
||||
{
|
||||
return nombreFichero;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return El número de máximo de ficheros de backup.
|
||||
*/
|
||||
public static int getNumeroFicheros()
|
||||
{
|
||||
return numeroFicheros;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return La ruta en la que se almacenan los ficheros de log.
|
||||
*/
|
||||
public static String getPathFichero()
|
||||
{
|
||||
return pathFichero;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return El tamaño máximo de cada fichero de log.
|
||||
*/
|
||||
public static String getTamanoFichero()
|
||||
{
|
||||
return tamanoFichero;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ni El nivel de log.
|
||||
*/
|
||||
public static void setNivel(String ni)
|
||||
{
|
||||
nivel = NivelLog.toLevel(ni, NivelLog.toLevel(DEF_LOG_NIVEL)).toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param nombre El nombre del fichero de log.
|
||||
*/
|
||||
public static void setNombreFichero(String nombre)
|
||||
{
|
||||
nombreFichero = nombre;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param numero El número de máximo de ficheros de backup.
|
||||
*/
|
||||
public static void setNumeroFicheros(int numero)
|
||||
{
|
||||
numeroFicheros = numero;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param path La ruta en la que se almacenan los ficheros de log.
|
||||
*/
|
||||
public static void setPathFichero(String path)
|
||||
{
|
||||
File dir = new File(path);
|
||||
if(dir.exists())
|
||||
{
|
||||
pathFichero = dir.getPath();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dir.mkdir())
|
||||
{
|
||||
pathFichero = dir.getPath();
|
||||
}
|
||||
else
|
||||
{
|
||||
pathFichero = DEF_LOG_PATH;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param tamano El tamaño máximo de cada fichero de log.
|
||||
*/
|
||||
public static void setTamanoFichero(String tamano)
|
||||
{
|
||||
long valorNum;
|
||||
int pos;
|
||||
StringBuffer valorStr = new StringBuffer();
|
||||
|
||||
if((pos = tamano.toUpperCase().indexOf("KB")) >= 0)
|
||||
{
|
||||
valorStr.append("KB");
|
||||
}
|
||||
else if((pos = tamano.toUpperCase().indexOf("MB")) >= 0)
|
||||
{
|
||||
valorStr.append("MB");
|
||||
}
|
||||
else if((pos = tamano.toUpperCase().indexOf("GB")) >= 0)
|
||||
{
|
||||
valorStr.append("GB");
|
||||
}
|
||||
tamano = tamano.substring(0, pos);
|
||||
|
||||
try
|
||||
{
|
||||
valorNum = Long.parseLong(tamano);
|
||||
tamanoFichero = valorStr.insert(0, tamano).toString();
|
||||
}
|
||||
catch(NumberFormatException e)
|
||||
{
|
||||
tamanoFichero = DEF_LOG_TAMANO;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A partir de los valores indicados en el fichero de propiedades de la aplicación
|
||||
* genera un objeto <code>Properties</code> con las propiedades del gestor de logs.
|
||||
* @return Las propiedades de creación del gestor de logs.
|
||||
*/
|
||||
private static Properties cargarPropiedades()
|
||||
{
|
||||
Properties propiedades = new Properties();
|
||||
|
||||
propiedades.put("log4j.rootLogger", getNivel() + ", tarisan");
|
||||
propiedades.put("log4j.appender.tarisan", "org.apache.log4j.RollingFileAppender");
|
||||
propiedades.put("log4j.appender.tarisan.File", getPathFichero() + System.getProperty("file.separator") + getNombreFichero());
|
||||
propiedades.put("log4j.appender.tarisan.MaxFileSize", getTamanoFichero());
|
||||
propiedades.put("log4j.appender.tarisan.MaxBackupIndex", String.valueOf(getNumeroFicheros()));
|
||||
propiedades.put("log4j.appender.tarisan.layout", "org.apache.log4j.PatternLayout");
|
||||
propiedades.put("log4j.appender.tarisan.layout.ConversionPattern", "%d{dd/MM/yyyy HH:mm:ss.SSS} %-5p %m [%C.%M():%L] %n");
|
||||
|
||||
return propiedades;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inicializa el gestor de logs de la apliación.
|
||||
*/
|
||||
public static void inicializarLog()
|
||||
{
|
||||
PropertyConfigurator.configure(cargarPropiedades());
|
||||
logger = Logger.getLogger("log_de_tarisan");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user