# File lib_core/rucy/logger.rb, line 120
    def self.format(messg, request, response, curr_time)
      messg.gsub(/%\{.*?\}[io]|%./) {|fmt|
        case (fmt)
        when '%%'              # escape
          '%'
        when '%a'              # remote IP address
          request.client_address
        when '%A'              # local IP address
          request.server_address
        when '%B'              # bytes of response body
          response.send_size.to_s
        when '%b'              # bytes of response body
          b = response.send_size
          (b > 0) ? b.to_s : '-'
        when '%D'              # elapsed time (milliseconds)
          '-'
        when '%f'              # local path
          response.local_path || '-'
        when '%h'              # remote host
          request.client_name
        when '%l'              # ident
          '-'
        when '%m'              # request method
          request.method
        when '%p'              # server port
          request.server_port.to_s
        when '%P'              # server process id
          $$.to_s
        when '%q'              # query string
          q = request.query
          (q) ? "?#{q}" : ''
        when '%r'              # request line
          request.line
        when '%s'              # response status
          response.status.to_s
        when '%t'              # time
          curr_time.httpdate
        when '%T'              # elapsed time (seconds)
          '-'
        when '%u'              # remote user
          '-'
        when '%U'              # request URL path
          request.path
        when '%v'              # server name
          request.host
        when /^%\{.*\}i$/      # input header
          name = $&[2...-2]
          request.header(name) || '-'
        when /^%\{.*\}o$/      # output header
          name = $&[2...-2]
          response.header(name) || '-'
        else
          fmt
        end
      }
    end