logo logo
Thursday, 28 de August de 2008
 
 
English English  Español Español  
Etiquetas
Análisis Artificial Asociaciones Associations Conciencia Consciencia Conscientes Consciousness Español Howto Investigación Microsoft Máquinas Neurociencia Publicaciones Researchers Robot Robotics Robots Robótica Servicios Studio artificial conciencia
ConcurrentLogger para .NET Imprimir E-Mail
escrito por Raúl Arrabales Moreno   
Friday, 25 de May de 2007

Image ConcurrentLogger es una clase simple de .NET que permite escribir un fichero de trazas (log) secuencial desde una aplicación multi-hilo. Estoy programando un controlador para un robot usando MSRS y quería generar un archivo de log independiente, que pudiera escribirse de forma segura en una aplicación asíncrona y multi-hilo.

Estuve buscando otros componentes o bibliotecas de .NET para escribir archivos de trazas, como log4net, CSharp Logger, Logger.NET, etc.  Sin embargo, no pude encontrar un componente de fácil uso y que permitiera llamadas concurrentes y asíncronas. Entonces, decidí escribir un componente realmente simple que, usando la biblioteca CCR, permitiera escribir un fichero de log básico en este entorno. Sólo hay que definir un nivel de log y llamar a un método cada vez que se quiera escribir una línea en el archivo.

Este es un ejemplo de uso en C# (C Almhoadilla):

[...]
ConcurrentLogger logger = new ConcurrentLogger( "MyLogFile.txt"LogLevel.DEBUG );
[...]
logger.writeLog( "MyComponent", LogLevel.INFO"This is a test INFO message" );
[...]

 

Los niveles de log predefinidos (definidos en la clase estática LogLevel) son:

DEBUG: traza de todos los mensajes.
- INFO: traza de todos los mensajes, menos los de DEBUG.
- WARN: traza de todos los mensajes menos DEBUG e INFO.
- ERROR: traza de sólo los mensajes de ERROR y FATAL.
- FATAL: sólo traza los mensajes de error fatal.

Como esta clase hace uso de la biblioteca CCR se necesita incluir una referencia al componente CCR en el proyecto de Visual Studio. La biblioteca CCR está disponible de forma gratuita y se distribuye junto con el SDK de Microsoft Robotics Studio. Usando el CCR, ConcurrentLogger asegura que las llamadas que escriben las líneas del archivo de log se ejecutan siempre secuencialmente en el mismo hilo, aunque las llamadas se generen de forma asíncrona desde diferentes hilos. Las llamadas al método writeLog son no bloqueantes, es decir, la solicitud se encola y sigue la ejecución del programa.  

 Más documentación sobre este componente:

 

 

 


Related Items:

  1. Código Fuente de ConcurrentLogger Beta 1
  2. Páginas de Microsoft Robotics Studio
  3. Cómo encontrar artículos sobre consciencia y robótica
  4. Robótica Cognitiva
  5. Teoría del Espacio de Trabajo Global
  6. Modelo de Versiones Múltiples
  7. Teorías de Orden Superior sobre la Consciencia
  8. Tropiezo de Asimo
  9. Mula Robótica
  10. ICybie bailando

Add as favourites (70) | Cite este artículo en su sitio | Views: 1844 | E-Mail

  Sea el primero en comentar el artículo
RSS de los comentarios

Solo los usuarios registrados pueden agregar sus comentarios.
Por favor, vaya a login, o regístrese.

Powered by AkoComment Tweaked Special Edition v.1.4.4

Modificado el ( Wednesday, 01 de August de 2007 )
 
 
Top!
Advertising links: Vegas Hotel - Loans - United Specialties - Wills
Top!