Dear Markus,
While I test it with LUA, I try to test the same on Orocos Scripting and I
found another strange error, in the next lines I described my steps to
reproduce it:
IF :
1 - load an XML configuration deplotyer file with* my components +
OCL::logging::LoggerService + OCL::logging::FileAppender* correctly.
2 - write properties using marshall service for each logging component ,
the output was:
* OCL::logging::LoggerService *(as logger_services.xml)
*
*
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "cpf.dtd">
<properties>
<struct name="Levels" type="PropertyBag">
<description>A PropertyBag defining the level of each category of
interest.<description>
<simple name="ugv.core" type="string"><value>debug<value><simple>
<struct>
<struct name="Appenders" type="PropertyBag">
<description>A PropertyBag defining the appenders for each category of
interest.<description>
<simple name="ugv.core" type="string"><value>*AppenderA*
<value><simple>
<struct>
<properties>
* OCL::logging::FileAppender* ( as logger_appenders.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "cpf.dtd">
<properties>
<simple name="LayoutName" type="string"><description>Layout name (e.g.
'simple', 'pattern')<description><value>pattern<value><simple>
<simple name="LayoutPattern" type="string"><description>Layout conversion
pattern (for those layouts that use a pattern)<description><value>%d [%t]
%-5p %c %x - %m%n<value><simple>
<simple name="Filename" type="string"><description>Name of file to log
to<description><value>log/Command.log<value><simple>
<simple name="MaxEventsPerCycle" type="long"><description>Maximum number
of log events to pop per cycle<description><value>0<value><simple>
<properties>
3.- quit from deployer
4.- generate an Orocos Scripting :
import("rtt");
import("orocos/ocl");
loadComponent("*aa*", "OCL::logging::FileAppender");
loadComponent("*logS*", "OCL::logging::LoggingService");
aa.setPeriod(0.5);
logS.setPeriod(0.5);
addPeer("aa","logS");
loadService("logS","marshalling");
loadService("aa","marshalling");
logS.marshalling.loadProperties("/development/apps/ugv/core/commands/logger_services.xml");
aa.marshalling.loadProperties("/development/apps/ugv/core/commands/logger_appenders.xml");
aa.configure()
logS.configure()
aa.start()
logS.start()
// ... next lines load Components.
5.- when execute this OPS: deployer-gnulinux -s test.ops, it launch an
error:
0.083 [ ERROR ][ScriptingService] Could not find appender 'AppenderA'
THEN :
My components are not avalaible to use the loggers:
Peers : CommandController[*S*] CommandTest[*S*] *aa[R] logS[U] *
If I execute the same components from my test XML configuration file, the
status of the components are correct and the logging service is sucessfully
working:
Peers : AppenderFile[*R*] InputTestCommand[*R*] LoggingService[*R*]
MyCommand[*R*]
I'm surprised that the load properties from files generated from the "same"
configuration generate a different execution when it is instanced from
Oorocos Script or from XML-configuration file.
Any ideas? solutions? I'm using : OROCOS Toolchain version '2.4.0' ( GCC
4.4.3 ) -- GNU/Linux.
Thanks in advance,
Toni.
Problems with <strike>LUA</strike> Orocos Script ( logger proper
Toni,
On Fri, Nov 25, 2011 at 12:01 PM, Antonio Castellon
<antonio [dot] castellon [..] ...> wrote:
> Dear Markus,
>
> While I test it with LUA, I try to test the same on Orocos Scripting and I
> found another strange error, in the next lines I described my steps to
> reproduce it:
>
> IF :
>
> 1 - load an XML configuration deplotyer file with my components +
> OCL::logging::LoggerService + OCL::logging::FileAppender correctly.
> 2 - write properties using marshall service for each logging component , the
> output was:
>
> OCL::logging::LoggerService (as logger_services.xml)
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <!DOCTYPE properties SYSTEM "cpf.dtd">
>
> <properties>
>
> <struct name="Levels" type="PropertyBag">
>
> <description>A PropertyBag defining the level of each category of
> interest.<description>
>
> <simple name="ugv.core" type="string"><value>debug<value><simple>
>
> <struct>
>
> <struct name="Appenders" type="PropertyBag">
>
> <description>A PropertyBag defining the appenders for each category of
> interest.<description>
>
> <simple name="ugv.core" type="string"><value>AppenderA<value><simple>
This should be: <value>aa<value>
>
> <struct>
>
> <properties>
>
>
> OCL::logging::FileAppender ( as logger_appenders.xml)
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <!DOCTYPE properties SYSTEM "cpf.dtd">
>
> <properties>
>
> <simple name="LayoutName" type="string"><description>Layout name (e.g.
> 'simple', 'pattern')<description><value>pattern<value><simple>
>
> <simple name="LayoutPattern" type="string"><description>Layout conversion
> pattern (for those layouts that use a pattern)<description><value>%d [%t]
> %-5p %c %x - %m%n<value><simple>
>
> <simple name="Filename" type="string"><description>Name of file to log
> to<description><value>log/Command.log<value><simple>
>
> <simple name="MaxEventsPerCycle" type="long"><description>Maximum number
> of log events to pop per cycle<description><value>0<value><simple>
>
> <properties>
>
>
> 3.- quit from deployer
>
> 4.- generate an Orocos Scripting :
>
>
> import("rtt");
>
> import("orocos/ocl");
>
>
> loadComponent("aa", "OCL::logging::FileAppender");
>
> loadComponent("logS", "OCL::logging::LoggingService");
>
>
> aa.setPeriod(0.5);
>
> logS.setPeriod(0.5);
>
>
>
> addPeer("aa","logS");
This should be:
addPeer("logS", "aa")
It's from logS TO aa. In your script, aa knows logS, but it must be
the other way around.
>
>
> loadService("logS","marshalling");
>
> loadService("aa","marshalling");
>
>
> logS.marshalling.loadProperties("/development/apps/ugv/core/commands/logger_services.xml");
>
> aa.marshalling.loadProperties("/development/apps/ugv/core/commands/logger_appenders.xml");
>
>
> aa.configure()
>
> logS.configure()
>
>
>
> aa.start()
>
> logS.start()
>
> // ... next lines load Components.
>
>
> 5.- when execute this OPS: deployer-gnulinux -s test.ops, it launch an
> error:
>
> 0.083 [ ERROR ][ScriptingService] Could not find appender 'AppenderA'
The error could indeed clarify that it can't find AppenderA as a peer
of the logging service,
which should have rung a bell.
Peter
Problems with <strike>LUA</strike> Orocos Script ( logger proper
On Nov 25, 2011, at 06:01 , Antonio Castellon wrote:
> Dear Markus,
>
> While I test it with LUA, I try to test the same on Orocos Scripting and I found another strange error, in the next lines I described my steps to reproduce it:
>
> IF :
> 1 - load an XML configuration deplotyer file with my components + OCL::logging::LoggerService + OCL::logging::FileAppender correctly.
> 2 - write properties using marshall service for each logging component , the output was:
>
> OCL::logging::LoggerService (as logger_services.xml)
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE properties SYSTEM "cpf.dtd">
> <properties>
> <struct name="Levels" type="PropertyBag">
> <description>A PropertyBag defining the level of each category of interest.<description>
> <simple name="ugv.core" type="string"><value>debug<value><simple>
> <struct>
> <struct name="Appenders" type="PropertyBag">
> <description>A PropertyBag defining the appenders for each category of interest.<description>
> <simple name="ugv.core" type="string"><value>AppenderA<value><simple>
> <struct>
> <properties>
>
> OCL::logging::FileAppender ( as logger_appenders.xml)
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE properties SYSTEM "cpf.dtd">
> <properties>
> <simple name="LayoutName" type="string"><description>Layout name (e.g. 'simple', 'pattern')<description><value>pattern<value><simple>
> <simple name="LayoutPattern" type="string"><description>Layout conversion pattern (for those layouts that use a pattern)<description><value>%d [%t] %-5p %c %x - %m%n<value><simple>
> <simple name="Filename" type="string"><description>Name of file to log to<description><value>log/Command.log<value><simple>
> <simple name="MaxEventsPerCycle" type="long"><description>Maximum number of log events to pop per cycle<description><value>0<value><simple>
> <properties>
>
> 3.- quit from deployer
>
> 4.- generate an Orocos Scripting :
>
> import("rtt");
> import("orocos/ocl");
>
> loadComponent("aa", "OCL::logging::FileAppender");
> loadComponent("logS", "OCL::logging::LoggingService");
>
> aa.setPeriod(0.5);
> logS.setPeriod(0.5);
>
> addPeer("aa","logS");
>
> loadService("logS","marshalling");
> loadService("aa","marshalling");
>
> logS.marshalling.loadProperties("/development/apps/ugv/core/commands/logger_services.xml");
> aa.marshalling.loadProperties("/development/apps/ugv/core/commands/logger_appenders.xml");
>
> aa.configure()
> logS.configure()
>
> aa.start()
> logS.start()
>
> // ... next lines load Components.
>
> 5.- when execute this OPS: deployer-gnulinux -s test.ops, it launch an error:
>
> 0.083 [ ERROR ][ScriptingService] Could not find appender 'AppenderA'
>
>
> THEN :
>
> My components are not avalaible to use the loggers:
>
> Peers : CommandController[S] CommandTest[S] aa[R] logS[U]
>
>
> If I execute the same components from my test XML configuration file, the status of the components are correct and the logging service is sucessfully working:
>
> Peers : AppenderFile[R] InputTestCommand[R] LoggingService[R] MyCommand[R]
>
>
> I'm surprised that the load properties from files generated from the "same" configuration generate a different execution when it is instanced from Oorocos Script or from XML-configuration file.
>
>
> Any ideas? solutions? I'm using : OROCOS Toolchain version '2.4.0' ( GCC 4.4.3 ) -- GNU/Linux.
>
>
> Thanks in advance,
> Toni.
>
Looks to me that you renamed the "AppenderA" component to "aa" with the loadComponent("aa"... statement ...
S
Problems with <strike>LUA</strike> Orocos Script ( logger proper
No it is not the problem, I change for "aa" and the response is the same.
:-(
nobody has test it on another environment?
Regards
Toni
Problems with <strike>LUA</strike> Orocos Script ( logger proper
2011/11/25 Antonio Castellon <antonio [dot] castellon [..] ...>:
> No it is not the problem, I change for "aa" and the response is the same.
> :-(
There is no AppenderA in the script. Can you show us the whole script?
Steven
> nobody has test it on another environment?
> Regards
> Toni