Hola,<br><br>He realizado una serie de cambios en la clase Component de jderobot para permitir configurar el nivel de log del componente.<br>En principio no he modificado el API y no debería afectar a nadie. No obstante, si alguien observa algo raro que lo comente por la lista.<br>

<br>Aprovechando el viaje, ya os pongo un ejemplo de uso para que veáis la funcionalidad implementada en referencia a los logs.<br><br>Gearbox incluye una clase abstracta llamado gbxutilacfr::Tracer [1] que implementa una serie de métodos para que nuestro programa vuelque información en forma de trazas. Habitualmente para esto se usa un printf o similar, pero cuando el sistema es grande, resulta útil definir tipos de log, de manera que podamos indicar el tipo de la traza para que una vez ejecutemos nuestro programa podamos elegir que mensajes deben imprimirse por pantalla y cuales ignorarse.<br>

<br>Así, usando el API de gbxutilacfr::Tracer nuestro programa podría hacer:<br><br>tracer().debug( &quot;jderobotice::Component: stopping ComponentThread....&quot;);//esta traza es de tipo debug<br><br>ó<br><br>tracer().info( pImpl-&gt;context-&gt;tag() + &quot;: Component infrastructure thread created.&quot; );//esta traza es de tipo info<br>

<br>Además es posible indicar un nivel para el mensaje, de modo que sólo se imprimirán aquellos mensajes que bajo el nivel configurado. En las llamadas anteriores podríamos pasar un valor con el nivel de este mensaje, por ejemplo 3. Si el nivel configurado del tipo info tiene un valor &gt;= entonces este mensaje se imprimirá. De esta manera podemos establecer niveles para los mensajes.<br>

<br>Hasta ahora no era posible configurar los niveles de log que queríamos mostrar, si no que se usaban los valores por defecto de gbxutilacfr::TrivialTracer. Así que he añadido al constructor de la clase jderobotice::Component un parámetro extra para pasar una configuración. Esta configuración no es más que un array con gbxutilacfr::NumberOfTraceTypes [3] en el que decimos el nivel de cada tipo de mensaje. Los valores van de 0 a 10, 0 indica que este tipo de mensajes no se imprimirán nunca, y 10 que se imprimirán todos los mensajes.<br>

<br>Un ejemplo para configurar el nivel de logs:<br><br>int tracerConfig[5] = {9,9,9,9,0};<br>bgfglab::Component component(tracerConfig);<br><br>de esta manera se configuraría el nivel a 9 para todos los tipos de mensajes.<br>
<br><br>Espero que os resulte útil,<br>Un saludo.<br>David.<br><br>[1] <a href="http://gearbox.sourceforge.net/classgbxutilacfr_1_1Tracer.html" target="_blank">http://gearbox.sourceforge.net/classgbxutilacfr_1_1Tracer.html</a><br clear="all">

[2] <a href="http://gearbox.sourceforge.net/classgbxutilacfr_1_1TrivialTracer.html" target="_blank">http://gearbox.sourceforge.net/classgbxutilacfr_1_1TrivialTracer.html</a><br>[3] <a href="http://gearbox.sourceforge.net/namespacegbxutilacfr.html#ef6c9166854bf190dfcff7b859cc3213" target="_blank">http://gearbox.sourceforge.net/namespacegbxutilacfr.html#ef6c9166854bf190dfcff7b859cc3213</a><br>