9#ifndef SQUID_SRC_ACCESSLOGENTRY_H
10#define SQUID_SRC_ACCESSLOGENTRY_H
void accessLogClose(void)
void accessLogLogTo(CustomLog *, const AccessLogEntryPointer &, ACLChecklist *checklist=nullptr)
void accessLogRotate(void)
void accessLogLog(const AccessLogEntryPointer &, ACLChecklist *)
const char * accessLogTime(time_t)
This subclass holds general adaptation log info. TODO: Inner class declarations should be moved outsi...
char * last_meta
image of the last ICAP response header or eCAP meta received
This subclass holds log info for Squid internal stats TODO: Inner class declarations should be moved ...
AnyP::PortCfgPointer port
Security::CertPointer sslClientCert
cert received from the client
struct timeval start_time
The time the master transaction started.
struct timeval trTime
The response time.
This subclass holds log info for HTCP protocol TODO: Inner class declarations should be moved outside...
This subclass holds log info for HTTP protocol TODO: Inner class declarations should be moved outside...
MessageSizes clientReplySz
counters for the response sent to client
const char * content_type
MessageSizes clientRequestSz
counters for the original request received from client
AnyP::ProtocolVersion version
This subclass holds log info for ICAP part of request TODO: Inner class declarations should be moved ...
SBuf reqUri
ICAP Request-URI.
struct timeval processingTime
total ICAP processing time
struct timeval trTime
Transaction response time. The timer starts when the ICAP transaction is created and stops when the r...
Adaptation::Icap::XactOutcome outcome
final transaction status
Ip::Address hostAddr
ICAP server IP address.
HttpReply * reply
ICAP reply.
SBuf serviceName
ICAP service name.
Http::StatusCode resStatus
ICAP response status code.
int64_t bytesRead
number of bytes read from ICAP server so far
Adaptation::Icap::ICAP::Method reqMethod
ICAP request method.
struct timeval ioTime
Transaction I/O time. The timer starts when the first ICAP request byte is scheduled for sending and ...
int64_t bytesSent
number of bytes sent to ICAP server so far
HttpRequest * request
ICAP request.
This subclass holds log info for ICP protocol TODO: Inner class declarations should be moved outside.
logging information specific to the SSL protocol
const char * user
emailAddress from the SSL client certificate
int bumpMode
whether and how the request was SslBumped
SBuf lastAclName
string for external_acl_type ACL format code
const Error * error() const
void getLogClientIp(char *buf, size_t bufsz) const
SBuf getLogMethod() const
Fetch the transaction method string (ICP opcode, HTCP opcode or HTTP method)
void packReplyHeaders(MemBuf &mb) const
dump all reply headers (for sending or risky logging)
class AccessLogEntry::CacheDetails cache
bool hasLogMethod() const
whether we know what the request method is
SBuf virginUrlForMissingRequest_
void syncNotes(HttpRequest *request)
~AccessLogEntry() override
class AccessLogEntry::IcapLogEntry icap
class AccessLogEntry::Headers headers
Comm::ConnectionPointer tcpClient
TCP/IP level details about the client connection.
class AccessLogEntry::HttpDetails http
RefCount< AccessLogEntry > Pointer
HttpRequest * adapted_request
class AccessLogEntry::HtcpDetails htcp
const char * getExtUser() const
Fetch the external ACL provided 'user=' string, or nil if none is available.
SBuf lastAclData
string for external_acl_type DATA format code
void setVirginUrlForMissingRequest(const SBuf &vu)
Remember Client URI (or equivalent) when there is no HttpRequest.
const char * getLogClientFqdn(char *buf, size_t bufSize) const
class AccessLogEntry::AdaptationDetails adapt
class AccessLogEntry::IcpDetails icp
ProxyProtocol::HeaderPointer proxyProtocolHeader
see ConnStateData::proxyProtocolHeader_
const SBuf * effectiveVirginUrl() const
ScopedId codeContextGist() const override
class AccessLogEntry::SslDetails ssl
void updateError(const Error &)
sets (or updates the already stored) transaction error as needed
std::ostream & detailCodeContext(std::ostream &os) const override
appends human-friendly context description line(s) to a cache.log record
const char * XactOutcome
transaction result for logging
const XactOutcome xoUnknown
initial value: outcome was not set