]> git.ipfire.org Git - thirdparty/squid.git/blob - src/log/Formats.h
Merged from trunk
[thirdparty/squid.git] / src / log / Formats.h
1 #ifndef _SQUID_LOG_FORMATS_H
2 #define _SQUID_LOG_FORMATS_H
3
4 #include "AccessLogEntry.h"
5 #include "RefCount.h"
6
7 typedef RefCount<AccessLogEntry> AccessLogEntryPointer;
8 class AccessLogEntry;
9 class CustomLog;
10 class Logfile;
11
12 namespace Log
13 {
14
15 namespace Format
16 {
17
18 typedef enum {
19 CLF_UNKNOWN,
20 CLF_COMBINED,
21 CLF_COMMON,
22 CLF_CUSTOM,
23 #if ICAP_CLIENT
24 CLF_ICAP_SQUID,
25 #endif
26 CLF_REFERER,
27 CLF_SQUID,
28 CLF_USERAGENT,
29 CLF_NONE
30 } log_type;
31
32 /// Native Squid Format Display
33 void SquidNative(const AccessLogEntryPointer &al, Logfile * logfile);
34
35 /// Display log details in Squid ICAP format.
36 void SquidIcap(const AccessLogEntryPointer &al, Logfile * logfile);
37
38 /// Display log details in useragent format.
39 void SquidUserAgent(const AccessLogEntryPointer &al, Logfile * logfile);
40
41 /// Display log details in Squid old refererlog format.
42 void SquidReferer(const AccessLogEntryPointer &al, Logfile * logfile);
43
44 /// Log with a local custom format
45 void SquidCustom(const AccessLogEntryPointer &al, CustomLog * log);
46
47 /// Log with Apache httpd common format
48 void HttpdCommon(const AccessLogEntryPointer &al, Logfile * logfile);
49
50 /// Log with Apache httpd combined format
51 void HttpdCombined(const AccessLogEntryPointer &al, Logfile * logfile);
52
53 }; // namespace Format
54 }; // namespace Log
55
56 #endif /* _SQUID_LOG_FORMATS_H */