ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Public Types | Static Public Member Functions | Friends | List of all members
anna::Logger Class Reference

#include <Logger.hpp>

Classes

class  Writer
 

Public Types

enum  Level {
  Emergency = LOG_EMERG, Alert = LOG_ALERT, Critical = LOG_CRIT, Error = LOG_ERR,
  Warning = LOG_WARNING, Notice = LOG_NOTICE, Information = LOG_INFO, Debug = LOG_DEBUG,
  Local0 = LOG_LOCAL0, Local1 = LOG_LOCAL1, Local2 = LOG_LOCAL2, Local3 = LOG_LOCAL3,
  Local4 = LOG_LOCAL4, Local5 = LOG_LOCAL5, Local6 = LOG_LOCAL6, Local7 = LOG_LOCAL7
}
 

Static Public Member Functions

static void initialize (const char *ident)
 
static void initialize (const char *ident, Writer *writer)
 
static Level getLevel ()
 
static void setLevel (const Level level) noexcept(false)
 
static bool isActive (const Level level)
 
static void disable () noexcept(false)
 
static void enable () noexcept(false)
 
static void showPID (const bool show)
 
static void write (const Level level, const char *text, const char *fromFile, const int fromLine)
 
static void write (const Level level, const std::string &text, const char *fromFile, const int fromLine)
 
static void write (const Level level, const char *text, const char *value, const char *fromFile, const int fromLine)
 
static void write (const Level level, const char *text, const std::string &value, const char *fromFile, const int fromLine)
 
static void write (const Level level, const std::string &text, const std::string &value, const char *fromFile, const int fromLine)
 
static void write (const Level level, const char *text, const int value, const char *fromFile, const int fromLine)
 
static void write (const Level level, const char *text, const DataBlock &value, const char *fromFile, const int fromLine)
 
static void debug (const std::string &text, const char *fromFile, const int fromLine)
 
static void information (const std::string &text, const char *fromFile, const int fromLine)
 
static void notice (const std::string &text, const char *fromFile, const int fromLine)
 
static void warning (const std::string &text, const char *fromFile, const int fromLine)
 
static void error (const std::string &text, const char *fromFile, const int fromLine)
 
static void critical (const std::string &text, const char *fromFile, const int fromLine)
 
static void alert (const std::string &text, const char *fromFile, const int fromLine)
 
static void emergency (const std::string &text, const char *fromFile, const int fromLine)
 
static const char * asString (const Level level)
 
static Level asLevel (const char *level) noexcept(false)
 

Friends

class Logger::Writer
 

Detailed Description

Facilidad para la realizacion de archivos de historico (logs) de nuestra aplicacion.

See also
Patron proxy http://maniaco/anna/docs/html/DesingPatterns//pat4gfso.htm

Member Enumeration Documentation

◆ Level

Nivel de las trazas de historico.

Para mas informacion ver los niveles de emergencia listados en: man syslog.conf

See also
Logger
Enumerator
Emergency 
Alert 
Critical 
Error 
Warning 
Notice 
Information 
Debug 
Local0 
Local1 
Local2 
Local3 
Local4 
Local5 
Local6 
Local7 
39  {
40  Emergency = LOG_EMERG,
41  Alert = LOG_ALERT, Critical = LOG_CRIT, Error = LOG_ERR, Warning = LOG_WARNING,
42  Notice = LOG_NOTICE, Information = LOG_INFO, Debug = LOG_DEBUG,
43  Local0 = LOG_LOCAL0, Local1 = LOG_LOCAL1, Local2 = LOG_LOCAL2, Local3 = LOG_LOCAL3,
44  Local4 = LOG_LOCAL4, Local5 = LOG_LOCAL5, Local6 = LOG_LOCAL6, Local7 = LOG_LOCAL7
45  };
Definition: Logger.hpp:42
Definition: Logger.hpp:40
Definition: Logger.hpp:43
Definition: Logger.hpp:44
Definition: Logger.hpp:41
Definition: Logger.hpp:42
Definition: Logger.hpp:44
Definition: Logger.hpp:43
Definition: Logger.hpp:42
Definition: Logger.hpp:41
Definition: Logger.hpp:44
Definition: Logger.hpp:43
Definition: Logger.hpp:41
Definition: Logger.hpp:44
Definition: Logger.hpp:41
Definition: Logger.hpp:43

Member Function Documentation

◆ alert()

static void anna::Logger::alert ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Alert esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
372  {
373  write(Logger::Alert, text, fromFile, fromLine);
374  }
Definition: Logger.hpp:41
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ asLevel()

static Level anna::Logger::asLevel ( const char *  level)
staticnoexcept

Traduce la cadena recibida al nivel correspondiente.

Parameters
levelCadena que deberia contener un nombre de nivel (emerg, alert, crit, err, warning, notice, info, debug).
Warning
Debe de ser alguno de los siguiente literales: emerg, alert, crit, err, warning, notice, info, debug

◆ asString()

static const char* anna::Logger::asString ( const Level  level)
static
Returns
La cadena que identifica al nivel recibido como parametro.

◆ critical()

static void anna::Logger::critical ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Critical esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
361  {
362  write(Logger::Critical, text, fromFile, fromLine);
363  }
Definition: Logger.hpp:41
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ debug()

static void anna::Logger::debug ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Debug esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
306  {
307  write(Logger::Debug, text, fromFile, fromLine);
308  }
Definition: Logger.hpp:42
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ disable()

static void anna::Logger::disable ( )
staticnoexcept

Desactiva el sistema de trazado.

◆ emergency()

static void anna::Logger::emergency ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Emergency esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
383  {
384  write(Logger::Emergency, text, fromFile, fromLine);
385  }
Definition: Logger.hpp:40
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ enable()

static void anna::Logger::enable ( )
staticnoexcept

Activa el sistema de trazado y establece el nivel de trazado existente antes de la desactivacion (Ver disable).

◆ error()

static void anna::Logger::error ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Error esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
350  {
351  write(Logger::Error, text, fromFile, fromLine);
352  }
Definition: Logger.hpp:41
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ getLevel()

static Level anna::Logger::getLevel ( )
inlinestatic
Returns
El nivel de trazado de nuestra aplicacion.
143 { return st_level; }

◆ information()

static void anna::Logger::information ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Information esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
317  {
318  write(Logger::Information, text, fromFile, fromLine);
319  }
Definition: Logger.hpp:42
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ initialize() [1/2]

static void anna::Logger::initialize ( const char *  ident)
static

Inicializa el sistema de historico de nuestra aplicacion. Solo debe invocarse una unica vez al comienzo de la aplicacion.

Al no indicar ninguna clase encargada de transferir los datos de la aplicacion al sistema de historico se establece el Writer por defecto.

Este metodo no es MT-safe por lo que tenemos que estar seguros que no se puede invocar desde varios thread simultaneamente. Lo mas aconsejable es invocarlo desde el comienzo de la aplicacion.

Parameters
identIdentifica las trazas de nuestra aplicacion que apareceran en el archivo de historico. Deberia ser un texto con entre 4 y 16 caracteres.
See also
DefaultWriter.

◆ initialize() [2/2]

static void anna::Logger::initialize ( const char *  ident,
Writer writer 
)
static

Inicializa el sistema de historico de nuestra aplicacion. Solo debe invocarse una unica vez al comienzo de la aplicacion.

Este metodo no es MT-safe por lo que tenemos que estar seguros que no se puede invocar desde varios thread simultaneamente. Lo mas aconsejable es invocarlo desde el comienzo de la aplicacion.

Parameters
identIdentifica las trazas de nuestra aplicacion que apareceran en el archivo de historico. Deberia ser un texto con entre 4 y 16 caracteres.
writerEstablece el objeto encargado de transferir los datos de la aplicacion al sistema de historico. La instancia pasada como parametro debera estar disponible mientras no termine la ejecucion de nuestra aplicacion. Podemos indicar NULL para desactivar completamente cualquier sistema de trazas.
See also
DefaultWriter.

◆ isActive()

static bool anna::Logger::isActive ( const Level  level)
inlinestatic

Comprueba si el nivel de trazado recibido como parametro esta activo en nuestra aplicacion.

Parameters
levelNivel de trazado que deseamos comprobar.
Returns
true Si el nivel de trazado de nuestra aplicacion es mayor que el recibido como parametro o false en otro caso.
169  {
170  return (st_writer != NULL && level <= Error) ? true : (st_enabled && level <= st_level && st_writer != NULL);
171  }
Definition: Logger.hpp:41
Here is the call graph for this function:

◆ notice()

static void anna::Logger::notice ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Notice esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
328  {
329  write(Logger::Notice, text, fromFile, fromLine);
330  }
Definition: Logger.hpp:42
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ setLevel()

static void anna::Logger::setLevel ( const Level  level)
inlinestaticnoexcept

Establece el nivel de trazado de nuestra aplicacion. El nivel de trazado por defecto de nuestra aplicacion dependera del modo de compilacion, en modo depuracion el nivel de trazado por defecto sera Debug, en otro caso sera Warning.

Solo apareceran en el historico las trazas que lleven un nivel menor que el establecido en este metodo.

Parameters
levelNivel de trazado que deseamos establecer.
156  {
157  Guard guard(st_mutex, "Logger::setLevel");
158  st_level = (level <= Error) ? Error : level;
159  }
Definition: Logger.hpp:41

◆ showPID()

static void anna::Logger::showPID ( const bool  show)
static

Establece el valor del indicador que hace que se vuelque el PID del proceso en la linea de trazas.

Puede ser util cuando el programa principal cree procesos hijos mediante a la invocacion al metodo fork.

Parameters
showPIDValor del indicador.

◆ warning()

static void anna::Logger::warning ( const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Si el nivel Warning esta activado traza el texto recibido en el historico.

Parameters
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
339  {
340  write(Logger::Warning, text, fromFile, fromLine);
341  }
Definition: Logger.hpp:41
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ write() [1/7]

static void anna::Logger::write ( const Level  level,
const char *  text,
const char *  fromFile,
const int  fromLine 
)
static

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.

◆ write() [2/7]

static void anna::Logger::write ( const Level  level,
const std::string &  text,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
217  {
218  write(level, text.c_str(), fromFile, fromLine);
219  }
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ write() [3/7]

static void anna::Logger::write ( const Level  level,
const char *  text,
const char *  value,
const char *  fromFile,
const int  fromLine 
)
static

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
valueContenido de una cadena.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.

◆ write() [4/7]

static void anna::Logger::write ( const Level  level,
const char *  text,
const std::string &  value,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
valueContenido de una cadena.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
248  {
249  write(level, text, value.c_str(), fromFile, fromLine);
250  }
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ write() [5/7]

static void anna::Logger::write ( const Level  level,
const std::string &  text,
const std::string &  value,
const char *  fromFile,
const int  fromLine 
)
inlinestatic

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
valueContenido de una cadena.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.
265  {
266  write(level, text.c_str(), value.c_str(), fromFile, fromLine);
267  }
static void write(const Level level, const char *text, const char *fromFile, const int fromLine)
Here is the call graph for this function:

◆ write() [6/7]

static void anna::Logger::write ( const Level  level,
const char *  text,
const int  value,
const char *  fromFile,
const int  fromLine 
)
static

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
valueValor numerico.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.

◆ write() [7/7]

static void anna::Logger::write ( const Level  level,
const char *  text,
const DataBlock value,
const char *  fromFile,
const int  fromLine 
)
static

Traza el texto recibido en el historico con el nivel indicado.

La traza solo sera registrada en el historico si el nivel de trazado recibido como parametro esta habilitado.

Parameters
levelNivel de la traza que deseamos registrar.
textTexto de la traza.
valueBloque de datos a transferir al log del sistema.
fromFileNombre del archivo donde se genera la traza.
fromLineNumero de linea del archivo donde se genera la traza.

Friends And Related Function Documentation

◆ Logger::Writer

friend class Logger::Writer
friend

The documentation for this class was generated from the following file: