#include <AccessLogEntry.h>

Inheritance diagram for AccessLogEntry:
Collaboration diagram for AccessLogEntry:

Classes

class  AdaptationDetails
 This subclass holds general adaptation log info. More...
 
class  CacheDetails
 This subclass holds log info for Squid internal stats. More...
 
class  Headers
 This subclass holds log info for various headers in raw format. More...
 
class  HtcpDetails
 This subclass holds log info for HTCP protocol. More...
 
class  HttpDetails
 This subclass holds log info for HTTP protocol. More...
 
class  IcapLogEntry
 This subclass holds log info for ICAP part of request. More...
 
class  IcpDetails
 This subclass holds log info for ICP protocol. More...
 
class  SslDetails
 logging information specific to the SSL protocol More...
 

Public Types

typedef RefCount< AccessLogEntryPointer
 

Public Member Functions

 AccessLogEntry ()
 
virtual ~AccessLogEntry ()
 
virtual std::ostream & detailCodeContext (std::ostream &os) const override
 appends human-friendly context description line(s) to a cache.log record More...
 
virtual ScopedId codeContextGist () const override
 
void getLogClientIp (char *buf, size_t bufsz) const
 
const char * getClientIdent () const
 Fetch the client IDENT string, or nil if none is available. More...
 
const char * getExtUser () const
 Fetch the external ACL provided 'user=' string, or nil if none is available. More...
 
bool hasLogMethod () const
 whether we know what the request method is More...
 
SBuf getLogMethod () const
 Fetch the transaction method string (ICP opcode, HTCP opcode or HTTP method) More...
 
void syncNotes (HttpRequest *request)
 
void packReplyHeaders (MemBuf &mb) const
 dump all reply headers (for sending or risky logging) More...
 
const SBufeffectiveVirginUrl () const
 
void setVirginUrlForMissingRequest (const SBuf &vu)
 Remember Client URI (or equivalent) when there is no HttpRequest. More...
 

Static Public Member Functions

static const PointerCurrent ()
 
static void Reset ()
 forgets the current context, setting it to nil/unknown More...
 
static void Reset (const Pointer)
 changes the current context; nil argument sets it to nil/unknown More...
 

Public Attributes

SBuf url
 
Comm::ConnectionPointer tcpClient
 TCP/IP level details about the client connection. More...
 
class AccessLogEntry::HttpDetails http
 
class AccessLogEntry::IcpDetails icp
 
class AccessLogEntry::HtcpDetails htcp
 
class AccessLogEntry::SslDetails ssl
 
class AccessLogEntry::CacheDetails cache
 
class AccessLogEntry::Headers headers
 
class AccessLogEntry::AdaptationDetails adapt
 
const char * lastAclName = nullptr
 string for external_acl_type ACL format code More...
 
SBuf lastAclData
 string for external_acl_type DATA format code More...
 
HierarchyLogEntry hier
 
HttpReplyPointer reply
 
HttpRequestrequest = nullptr
 
HttpRequestadapted_request = nullptr
 
NotePairs::Pointer notes
 
ProxyProtocol::HeaderPointer proxyProtocolHeader
 see ConnStateData::proxyProtocolHeader_ More...
 
class AccessLogEntry::IcapLogEntry icap
 

Private Attributes

SBuf virginUrlForMissingRequest_
 

Detailed Description

Definition at line 39 of file AccessLogEntry.h.

Member Typedef Documentation

◆ Pointer

Definition at line 43 of file AccessLogEntry.h.

Constructor & Destructor Documentation

◆ AccessLogEntry()

AccessLogEntry::AccessLogEntry ( )

Definition at line 101 of file AccessLogEntry.cc.

◆ ~AccessLogEntry()

Member Function Documentation

◆ codeContextGist()

ScopedId AccessLogEntry::codeContextGist ( ) const
overridevirtual
Returns
a small, permanent ID of the current context gists persist forever and are suitable for passing to other SMP workers

Implements CodeContext.

Definition at line 124 of file AccessLogEntry.cc.

References HttpRequest::masterXaction, and request.

◆ Current()

const CodeContext::Pointer & CodeContext::Current ( )
staticinherited
Returns
the known global context or, to indicate unknown context, nil

Definition at line 33 of file CodeContext.cc.

References Instance().

Referenced by CallSubscription< Call_ >::callback(), CallBack(), CallContextCreator(), CurrentCodeContextDetail(), HappyOrderEnforcer::enqueue(), epolltype_atoi(), CodeContext::Reset(), and ScheduleCall().

◆ detailCodeContext()

std::ostream & AccessLogEntry::detailCodeContext ( std::ostream &  os) const
overridevirtual

◆ effectiveVirginUrl()

const SBuf * AccessLogEntry::effectiveVirginUrl ( ) const

Effective URI of the received client (or equivalent) HTTP request or, in rare cases where that information was not collected, a nil pointer. Receiving errors are represented by "error:..." URIs. Adaptations and redirections do not affect this URI.

Definition at line 167 of file AccessLogEntry.cc.

References HttpRequest::effectiveRequestUri(), SBuf::isEmpty(), request, and virginUrlForMissingRequest_.

Referenced by Format::Format::assemble(), and detailCodeContext().

◆ getClientIdent()

◆ getExtUser()

◆ getLogClientIp()

void AccessLogEntry::getLogClientIp ( char *  buf,
size_t  bufsz 
) const

◆ getLogMethod()

◆ hasLogMethod()

◆ packReplyHeaders()

void AccessLogEntry::packReplyHeaders ( MemBuf mb) const

◆ Reset() [1/2]

◆ Reset() [2/2]

void CodeContext::Reset ( const Pointer  codeCtx)
staticinherited

◆ setVirginUrlForMissingRequest()

void AccessLogEntry::setVirginUrlForMissingRequest ( const SBuf vu)
inline

◆ syncNotes()

void AccessLogEntry::syncNotes ( HttpRequest request)

Definition at line 66 of file AccessLogEntry.cc.

References assert, notes, and HttpRequest::notes().

Referenced by hasLogMethod(), and ClientHttpRequest::initRequest().

Member Data Documentation

◆ adapt

◆ adapted_request

◆ cache

◆ headers

◆ hier

◆ htcp

◆ http

◆ icap

◆ icp

◆ lastAclData

SBuf AccessLogEntry::lastAclData

Definition at line 186 of file AccessLogEntry.h.

Referenced by Format::Format::assemble(), and makeExternalAclKey().

◆ lastAclName

const char* AccessLogEntry::lastAclName = nullptr

Definition at line 185 of file AccessLogEntry.h.

Referenced by Format::Format::assemble(), makeExternalAclKey(), and ~AccessLogEntry().

◆ notes

NotePairs::Pointer AccessLogEntry::notes

key:value pairs set by squid.conf note directive and key=value pairs returned from URL rewrite/redirect helper

Definition at line 195 of file AccessLogEntry.h.

Referenced by Format::Format::assemble(), and syncNotes().

◆ proxyProtocolHeader

◆ reply

◆ request

◆ ssl

◆ tcpClient

◆ url

◆ virginUrlForMissingRequest_

SBuf AccessLogEntry::virginUrlForMissingRequest_
private

Client URI (or equivalent) for effectiveVirginUrl() when HttpRequest is missing. This member is ignored unless the request member is nil.

Definition at line 261 of file AccessLogEntry.h.

Referenced by effectiveVirginUrl(), and setVirginUrlForMissingRequest().


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors