Skip to content

Support logging using robot.api.logger and logging APIs #26

Description

@vkruoso

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

  1. VernonCrabtree commented on Jul 14, 2015

    @VernonCrabtree

    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?

  2. VernonCrabtree commented on Jul 15, 2015

    @VernonCrabtree

    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.

  3. swordfly commented on Dec 7, 2016

    @swordfly

    @VernonCrabtree Thank you, it's really a easy and best solution.

  4. pekkaklarck commented on Jan 9, 2017

    @pekkaklarck
    Member

    Yep, official support for robot.api.logger as well as for Python's logging module would be nice.

  5. changed the title [-]Support robot.api.logger when running remote keywords[/-] [+]Support logging using `robot.api.logger` and `logging` APIs[/+] on Jan 9, 2017
  6. added a commit that references this issue on Jan 10, 2017
  7. conrados commented on Jun 6, 2019

    @conrados

    @VernonCrabtree : works like a charm. Nice workaround.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions