GeezerVison is showing github.com — Support logging using `robot.api.logger` and `logging` APIs · Issue #26 · robotframework/PythonRemoteServer
Support logging using robot.api.logger and logging APIs #26
Description
It would be a nice feature to have if you could have a library that uses the robot.api.logger to log messages to just work when used in a remote server using the PythonRemoteServer.
Activity
VernonCrabtree commented on Jul 14, 2015
I am looking for this 'feature' too. It seems very strange not to support Robots own logging in a Robot server.
I know python "print" output is picked up.
But, as an example, I run the OperatingSystem Copy File keyword, but the INFO message gets lost on the remote system somewhere. This needs to be reported back to the output of the calling script.
I tried registering my own logger in my remote library as follows:
class RFremoteLogger(Logger): # Inherit from robot.output.logger.Logger
def message(self, record):
print record
. . .
if name == 'main':
from robotremoteserver import RobotRemoteServer
LOGGER.register_logger(RFremoteLogger)
RobotRemoteServer(MyRemoteLib(), *sys.argv[1:])
But this didn't work. No error, but also no output. I tried some other variations but no luck.
Any suggestions how to get the output?
VernonCrabtree commented on Jul 15, 2015
For anyone else coming here: I solved it with this bit of code in my remote library:
from robot.api import logger
def remote_log_message(message,level,html=False):
print '{} {}'.format(level, message)
logger.write = remote_log_message
This works because most Robot libraries import logger from robot.api - where we replace the definition of write.
swordfly commented on Dec 7, 2016
pekkaklarck commented on Jan 9, 2017
Yep, official support for robot.api.logger as well as for Python's logging module would be nice.
changed the title
[-]Support robot.api.logger when running remote keywords[/-] [+]Support logging using `robot.api.logger` and `logging` APIs[/+] on Jan 9, 2017conrados commented on Jun 6, 2019
Metadata
Metadata
Development
No branches or pull requestsIssue actions