The http-logger is a noninteractive tool used to log interactions between Opera and the web servers it accesses.
Following is the grammar of the service, "http-logger":
PROTOCOL ::= EVENT* ;
###
# Events (messages from debugging host to debugger)
#
EVENT ::= REQUEST
| RESPONSE
;
##
# Events
#
REQUEST ::= "<request>"
REQUEST-ID
WINDOW-ID
TIME
HEADER
"</request>" ;
# The RESPONSE does not have it's own id, but refers to the generating REQUEST-ID
RESPONSE ::= "<response>"
REQUEST-ID
WINDOW-ID
TIME
HEADER
"</response>" ;
##
# Other data types
#
# REQUEST-ID is an identifier for the request; it is not necessarily unique across
# time, as it is just the memory address of the request object.
REQUEST-ID ::= "<request-id>" UNSIGNED "</request-id>" ;
# Timestamp of the message, in milliseconds since 1970-01-01 00:00 UTC
# (be sure not to rely on the time being correct - this is client time, and
# may be wildly different than the host time)
TIME ::= "<time>" FLOAT "</time>" ;
# Header of the request/response, i.e. the HTTP data up until the first
# occurence of CR+LF+CR+LF, inclusive.
HEADER ::= "<header>" TEXT "</header>" ;
FLOAT ::= [0-9]+ "." [0-9]+ ;
###
# From ecmascript-debugger-protocol.html
#
# The window ID is shared across scope. Notably, it's the same as in the ecmascript debugger.
# INTERNAL: The value is from Window::id
WINDOW-ID ::= "<window-id>" UNSIGNED "</window-id>" ;
UNSIGNED ::= [0-9]+ ;
TEXT ::= textual-data ;