24#if FOLLOW_X_FORWARDED_FOR
36 strncpy(buf,
"-", bufsz);
47 log_ip.
toStr(buf, bufsz);
57 if (client.isAnyAddr())
68 return client.
toStr(buf, bufSize);
74 static const SBuf dash(
"-");
136 return mx->id.detach();
149 return os <<
Debug::Extra <<
"current master transaction: " << mx->id;
159 const auto optionalMethod = [
this,&os]() {
165 return os <<
Debug::Extra <<
"current client request: " << optionalMethod() << *uri;
167 return os <<
Debug::Extra <<
"current request: " << optionalMethod() <<
url;
178 if (effectiveUrl && !effectiveUrl->
isEmpty())
char * last_meta
image of the last ICAP response header or eCAP meta received
HttpReply * reply
ICAP reply.
HttpRequest * request
ICAP request.
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
HttpRequest * adapted_request
class AccessLogEntry::HtcpDetails htcp
const char * getExtUser() const
Fetch the external ACL provided 'user=' string, or nil if none is available.
const char * getLogClientFqdn(char *buf, size_t bufSize) const
class AccessLogEntry::AdaptationDetails adapt
class AccessLogEntry::IcpDetails icp
const SBuf * effectiveVirginUrl() const
ScopedId codeContextGist() const override
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
static std::ostream & Extra(std::ostream &)
void update(const Error &)
if necessary, stores the given error information (if any)
void packHeadersUsingFastPacker(Packable &p) const
const SBuf & image() const
MasterXaction::Pointer masterXaction
the master transaction this request belongs to. Never nil.
Ip::Address indirect_client_addr
NotePairs::Pointer notes()
Error error
the first transaction problem encountered (or falsy)
const SBuf & effectiveRequestUri() const
RFC 7230 section 5.5 - Effective Request URI.
char * toStr(char *buf, const unsigned int blen, int force=AF_UNSPEC) const
void applyClientMask(const Address &mask)
SBuf & append(const SBuf &S)
int log_uses_indirect_client
struct SquidConfig::@85 Addrs
struct SquidConfig::@90 onoff
Ip::Address client_netmask
char const * termedBuf() const
#define FQDN_LOOKUP_IF_MISS
const char * fqdncache_gethostbyaddr(const Ip::Address &addr, int flags)
void HTTPMSGUNLOCK(M *&a)
const char * icp_opcode_str[]
bool ResolveClientAddressesAsap
whether to do reverse DNS lookups for source IPs of accepted connections