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 ...
String reqUri
ICAP Request-URI.
String serviceName
ICAP service name.
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.
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