FormatSquidUseragent.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 /* DEBUG: section 46 Access Log - Squid useragent format */
10 
11 #include "squid.h"
12 #include "AccessLogEntry.h"
13 #include "HttpRequest.h"
14 #include "log/File.h"
15 #include "log/Formats.h"
16 
17 void
19 {
20  const char *agent = nullptr;
21 
22  if (al->request)
24 
25  if (!agent || *agent == '\0')
26  agent = "-";
27 
28  char clientip[MAX_IPSTRLEN];
29  al->getLogClientIp(clientip, MAX_IPSTRLEN);
30 
31  logfilePrintf(logfile, "%s [%s] \"%s\"\n",
32  clientip,
34  agent);
35 }
36 
const char * getStr(Http::HdrType id) const
Definition: HttpHeader.cc:1163
HttpHeader header
Definition: Message.h:74
void logfilePrintf(Logfile *lf, const char *fmt,...)
Definition: File.cc:114
const char * FormatHttpd(time_t)
Definition: gadgets.cc:116
#define MAX_IPSTRLEN
Length of buffer that needs to be allocated to old a null-terminated IP-string.
Definition: forward.h:25
HttpRequest * request
time_t squid_curtime
Definition: stub_libtime.cc:20
Definition: File.h:38
void getLogClientIp(char *buf, size_t bufsz) const
void SquidUserAgent(const AccessLogEntryPointer &al, Logfile *logfile)
Display log details in useragent format.

 

Introduction

Documentation

Support

Miscellaneous