]> git.ipfire.org Git - thirdparty/squid.git/blame - src/adaptation/icap/icap_log.cc
Maintenance: Removed most NULLs using modernize-use-nullptr (#1075)
[thirdparty/squid.git] / src / adaptation / icap / icap_log.cc
CommitLineData
bbc27441 1/*
bf95c10a 2 * Copyright (C) 1996-2022 The Squid Software Foundation and contributors
bbc27441
AJ
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
582c2af2 9#include "squid.h"
3ff65596 10#include "AccessLogEntry.h"
8ebad780 11#include "acl/FilledChecklist.h"
8ebad780 12#include "globals.h"
602d9612
A
13#include "HttpReply.h"
14#include "icap_log.h"
8f645002 15#include "log/CustomLog.h"
82b7abe3 16#include "log/File.h"
20efa1c2 17#include "log/Formats.h"
4d5904f7 18#include "SquidConfig.h"
3ff65596
AR
19
20int IcapLogfileStatus = LOG_DISABLE;
21
22void
23icapLogOpen()
24{
87ddff6e 25 CustomLog *log;
3ff65596
AR
26
27 for (log = Config.Log.icaplogs; log; log = log->next) {
20efa1c2 28 if (log->type == Log::Format::CLF_NONE)
3ff65596
AR
29 continue;
30
fb0c2f17 31 log->logfile = logfileOpen(log->filename, log->bufferSize, log->fatal);
3ff65596
AR
32
33 IcapLogfileStatus = LOG_ENABLE;
34 }
35}
36
e1381638 37void
3ff65596
AR
38icapLogClose()
39{
87ddff6e 40 CustomLog *log;
3ff65596
AR
41
42 for (log = Config.Log.icaplogs; log; log = log->next) {
43 if (log->logfile) {
44 logfileClose(log->logfile);
aee3523a 45 log->logfile = nullptr;
3ff65596
AR
46 }
47 }
48}
49
50void
51icapLogRotate()
52{
87ddff6e 53 for (CustomLog* log = Config.Log.icaplogs; log; log = log->next) {
3ff65596 54 if (log->logfile) {
efc23871 55 logfileRotate(log->logfile, Config.Log.rotateNumber);
3ff65596
AR
56 }
57 }
58}
59
8ebad780 60void icapLogLog(AccessLogEntry::Pointer &al)
3ff65596 61{
8ebad780 62 if (IcapLogfileStatus == LOG_ENABLE) {
aee3523a 63 ACLFilledChecklist checklist(nullptr, al->adapted_request, nullptr);
8ebad780 64 if (al->reply) {
49f57088 65 checklist.reply = al->reply.getRaw();
8ebad780
CT
66 HTTPMSGLOCK(checklist.reply);
67 }
68 accessLogLogTo(Config.Log.icaplogs, al, &checklist);
69 }
3ff65596 70}
f53969cc 71