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");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
/**
|
||||
* @(#) NivelLog.java
|
||||
*/
|
||||
|
||||
package com.tarisan.log;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Niveles adicionales 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 NivelLog extends Level
|
||||
{
|
||||
/**
|
||||
* Valor entero del Log correspondiente a la Inicialización.
|
||||
*/
|
||||
public final static int INIT_INT = 99999;
|
||||
|
||||
/**
|
||||
* Valor del Log correspondiente a la Inicialización.
|
||||
*/
|
||||
final static public NivelLog INIT = new NivelLog(INIT_INT, "INIT", 0);
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* @param level El nivel de log.
|
||||
* @param levelStr La cadena correspondiente al nivel.
|
||||
* @param syslogEquivalent
|
||||
*/
|
||||
protected NivelLog(int level, String levelStr, int syslogEquivalent)
|
||||
{
|
||||
super(level, levelStr, syslogEquivalent);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convierte la cadena pasada como argumento a un nivel (instancia de la clase <code>Level</code>).
|
||||
* Si falla la conversión retorna el valor por defecto {@link LogTarisan#DEF_LOG_NIVEL}.
|
||||
* @param sArg La cadena correspondiente al nivel.
|
||||
* @return El nivel correspondiente a la cadena.
|
||||
*/
|
||||
public static Level toLevel(String sArg)
|
||||
{
|
||||
return (Level)toLevel(sArg, Level.toLevel(LogTarisan.DEF_LOG_NIVEL));
|
||||
// return (Level)toLevel(sArg, NivelLog.ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convierte el entero pasado como argumento a un nivel (instancia de la clase <code>Level</code>).
|
||||
* Si falla la conversión retorna el valor por defecto {@link LogTarisan#DEF_LOG_NIVEL}.
|
||||
* @param val El entero correspondiente al nivel.
|
||||
* @return El nivel correspondiente al entero.
|
||||
*/
|
||||
public static Level toLevel(int val)
|
||||
{
|
||||
return (Level)toLevel(val, Level.toLevel(LogTarisan.DEF_LOG_NIVEL));
|
||||
// return (Level)toLevel(val, NivelLog.ERROR);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convierte el entero pasado como argumento a un nivel (instancia de la clase <code>Level</code>).
|
||||
* Si falla la conversión retorna el valor por defecto especificado.
|
||||
* @param val El entero correspondiente al nivel.
|
||||
* @param defaultLevel El nivel por defecto a retornar en caso de fallo.
|
||||
* @return El nivel correspondiente al entero.
|
||||
*/
|
||||
public static Level toLevel(int val, Level defaultLevel)
|
||||
{
|
||||
switch(val)
|
||||
{
|
||||
case ALL_INT: return NivelLog.ALL;
|
||||
case DEBUG_INT: return NivelLog.DEBUG;
|
||||
case INFO_INT: return NivelLog.INFO;
|
||||
case WARN_INT: return NivelLog.WARN;
|
||||
case ERROR_INT: return NivelLog.ERROR;
|
||||
case FATAL_INT: return NivelLog.FATAL;
|
||||
case INIT_INT: return NivelLog.INIT;
|
||||
case OFF_INT: return NivelLog.OFF;
|
||||
default: return defaultLevel;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convierte la cadena pasada como argumento a un nivel (instancia de la clase <code>Level</code>).
|
||||
* Si falla la conversión retorna el valor por defecto especificado.
|
||||
* @param sArg La cadena correspondiente al nivel.
|
||||
* @param defaultLevel El nivel por defecto a retornar en caso de fallo.
|
||||
* @return El nivel correspondiente a la cadena.
|
||||
*/
|
||||
public static Level toLevel(String sArg, Level defaultLevel)
|
||||
{
|
||||
if(sArg == null)
|
||||
return defaultLevel;
|
||||
|
||||
String s = sArg.toUpperCase();
|
||||
|
||||
if(s.equals("ALL")) return NivelLog.ALL;
|
||||
if(s.equals("DEBUG")) return NivelLog.DEBUG;
|
||||
if(s.equals("INFO")) return NivelLog.INFO;
|
||||
if(s.equals("WARN")) return NivelLog.WARN;
|
||||
if(s.equals("ERROR")) return NivelLog.ERROR;
|
||||
if(s.equals("FATAL")) return NivelLog.FATAL;
|
||||
if(s.equals("INIT")) return NivelLog.INIT;
|
||||
if(s.equals("OFF")) return NivelLog.OFF;
|
||||
return defaultLevel;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user