diff options
author | ramon <ramongomez@us.es> | 2014-03-12 14:13:29 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2014-03-12 14:13:29 +0000 |
commit | 4bf0ddf03d8703ca2b48a421c6b65db7460a69d1 (patch) | |
tree | 8f8a5238cc923519f8c670799c0dfac7dbb8a8af /client | |
parent | 00018773a193e5eb941a6aff01cbf94560e9727c (diff) |
#640: Funciones {{{ogEcho}}} y {{{ogRaiseError}}} admiten como primeros parámetros los ficheros de logs donde guardar el mensaje.
Los formatos son:
* {{{ogEcho [str_logtype ...] [str_loglevel] "str_message" ...}}}
* {{{ogRaiseError [str_logtype ...] int_errcode ["str_errmessage" ...]}}}
Tipos de logs:
* {{{log}}}: registro principal del cliente.
* {{{command}}}: registro de comandos.
* {{{session}}}: registro de la sesión.
Niveles de logs:
* {{{help}}}: solo muestra ayuda, no se registra.
* {{{info}}}: información.
* {{{warning}}}: aviso importante.
* {{{error}}}: error.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4181 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client')
-rwxr-xr-x | client/engine/System.lib | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/client/engine/System.lib b/client/engine/System.lib index 0275d0a3..36856e71 100755 --- a/client/engine/System.lib +++ b/client/engine/System.lib @@ -10,43 +10,60 @@ #/** -# ogEcho [str_loglevel] "str_message..." +# ogEcho [str_logtype ...] [str_loglevel] "str_message" ... #@brief Muestra mensajes en consola y lo registra en fichero de incidencias. +#@param str_logfile tipo de registro de incidencias. #@param str_loglevel nivel de registro de incidencias. #@param str_message mensaje (puede recibir más de 1 parámetro. #@return Mensaje mostrado. #@warning Si no se indica nivel de registro, solo muestra mensaje en pantalla. +#@note logfile = { log, command, session }; usa "log" si se indica nivel de registro. +#@note loglevel = { help, info, warning, error } #@note El nivel de ayuda \c (help) no se registra en el fichero de incidencias. #@version 0.9 - Primera versión para OpenGnSys #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2009-07-23 +#@version 1.0.5 - Elegir fichero de log. +#@author Ramon Gomez, ETSII Universidad de Sevilla +#@date 2009-07-23 #*/ function ogEcho () { # Variables locales -local LOGLEVEL DATETIME +local CONT=1 LOGS LOGLEVEL DATETIME + +# Selección de ficheros de rgistro de incidencias. +while [ $CONT ]; do + case "${1,,}" in + log) LOGS="$LOGS $OGLOGFILE"; shift ;; + command) LOGS="$LOGS $OGLOGCOMMAND"; shift ;; + session) LOGS="$LOGS $OGLOGSESSION"; shift ;; + *) CONT= ;; + esac +done # Selección del nivel de registro (opcional). -case "$1" in +case "${1,,}" in help) shift ;; info) LOGLEVEL="$1"; shift ;; warning) LOGLEVEL="$1"; shift ;; error) LOGLEVEL="$1"; shift ;; *) ;; esac -DATETIME=$(date +"%F %T") if [ -n "$LOGLEVEL" ]; then - logger -s -t "OpenGnSys $LOGLEVEL" "$DATETIME $*" 2>&1 | tee -a $OGLOGFILE $OGLOGCOMMAND $OGLOGSESSION + DATETIME=$(date +"%F %T") + logger -s -t "OpenGnSys $LOGLEVEL" "$DATETIME $*" 2>&1 | tee -a $OGLOGFILE $LOGS else - echo "$*" + echo "$*" | tee -a $LOGS fi } #/** -# ogRaiseError int_errcode ["str_errmessage" ...] +# ogRaiseError [str_logtype ...] int_errcode ["str_errmessage" ...] #@brief Devuelve el mensaje y el código de error correspondiente. +#@param str_logfile tipo de registro de incidencias. #@param int_errcode código de error. #@param str_errmessage mensajes complementarios de error. #@return str_message - Mensaje de error. @@ -59,10 +76,18 @@ fi function ogRaiseError () { # Variables locales -local MSG CODE +local CONT=1 LOGS MSG CODE + +# Selección de rgistros de incidencias. +while [ $CONT ]; do + case "${1,,}" in + log|command|session) LOGS="$LOGS $1"; shift ;; + *) CONT= ;; + esac +done # Obtener código y mensaje de error. -CODE=$1 +CODE="$1" case "$CODE" in $OG_ERR_FORMAT) MSG="$MSG_ERR_FORMAT \"$2\"" ;; $OG_ERR_NOTFOUND) MSG="$MSG_ERR_NOTFOUND \"$2\"" ;; @@ -100,7 +125,7 @@ case "$CODE" in esac # Mostrar mensaje de error y salir con el código indicado. -ogEcho error "${FUNCNAME[1]}: $MSG" >&2 +ogEcho $LOGS error "${FUNCNAME[1]}: $MSG" >&2 return $CODE } |