<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def request_log_level(self, req, msg):
 """Query or set the current logging level. Parameters level : {'all', 'trace', 'debug', 'info', 'warn', 'error', 'fatal', \ 'off'}, optional Name of the logging level to set the device server to (the default is to leave the log level unchanged). Returns ------- success : {'ok', 'fail'} Whether the request succeeded. level : {'all', 'trace', 'debug', 'info', 'warn', 'error', 'fatal', \ 'off'} The log level after processing the request. Examples -------- :: ?log-level !log-level ok warn ?log-level info !log-level ok info """

        if msg.arguments:
            try:
                self.log.set_log_level_by_name(msg.arguments[0])
            except ValueError, e:
                raise FailReply(str(e))
        return req.make_reply("ok", self.log.level_name())