icap_log.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#include "squid.h"
10#include "AccessLogEntry.h"
11#include "acl/FilledChecklist.h"
12#include "globals.h"
13#include "HttpReply.h"
14#include "icap_log.h"
15#include "log/CustomLog.h"
16#include "log/File.h"
17#include "log/Formats.h"
18#include "SquidConfig.h"
19
21
22void
24{
26
27 for (log = Config.Log.icaplogs; log; log = log->next) {
28 if (log->type == Log::Format::CLF_NONE)
29 continue;
30
31 log->logfile = logfileOpen(log->filename, log->bufferSize, log->fatal);
32
34 }
35}
36
37void
39{
41
42 for (log = Config.Log.icaplogs; log; log = log->next) {
43 if (log->logfile) {
44 logfileClose(log->logfile);
45 log->logfile = nullptr;
46 }
47 }
48}
49
50void
52{
53 for (CustomLog* log = Config.Log.icaplogs; log; log = log->next) {
54 if (log->logfile) {
56 }
57 }
58}
59
61{
63 ACLFilledChecklist checklist(nullptr, al->adapted_request, nullptr);
64 if (al->reply) {
65 checklist.reply = al->reply.getRaw();
66 HTTPMSGLOCK(checklist.reply);
67 }
68 accessLogLogTo(Config.Log.icaplogs, al, &checklist);
69 }
70}
71
void accessLogLogTo(CustomLog *, const AccessLogEntryPointer &, ACLChecklist *checklist=nullptr)
Definition: access_log.cc:66
class SquidConfig Config
Definition: SquidConfig.cc:12
void log(char *format,...)
HttpReplyPointer reply
HttpRequest * adapted_request
C * getRaw() const
Definition: RefCount.h:89
CustomLog * icaplogs
Definition: SquidConfig.h:188
struct SquidConfig::@98 Log
int rotateNumber
Definition: SquidConfig.h:191
#define LOG_DISABLE
Definition: defines.h:63
#define LOG_ENABLE
Definition: defines.h:62
void HTTPMSGLOCK(Http::Message *a)
Definition: Message.h:161
void icapLogLog(AccessLogEntry::Pointer &al)
Definition: icap_log.cc:60
int IcapLogfileStatus
Definition: icap_log.cc:20
void icapLogClose()
Definition: icap_log.cc:38
void icapLogRotate()
Definition: icap_log.cc:51
void icapLogOpen()
Definition: icap_log.cc:23
void logfileRotate(Logfile *lf, int16_t rotateCount)
Definition: File.cc:101
void logfileClose(Logfile *lf)
Definition: File.cc:92
Logfile * logfileOpen(const char *path, size_t bufsz, int fatal_flag)
Definition: File.cc:40
@ CLF_NONE
Definition: Formats.h:37

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors