rlm_eap: add eap_chbind.c to build
[freeradius.git] / raddb / mods-available / linelog
1 # -*- text -*-
2 #
3 #  $Id$
4
5 #
6 #  The "linelog" module will log one line of text to a file.
7 #  Both the filename and the line of text are dynamically expanded.
8 #
9 #  We STRONGLY suggest that you do not use data from the
10 #  packet as part of the filename.
11 #
12 linelog {
13         #
14         #  The file where the logs will go.
15         #
16         #  If the filename is "syslog", then the log messages will
17         #  go to syslog.
18         filename = ${logdir}/linelog
19
20         #
21         #  The Unix-style permissions on the log file.
22         #
23         #  Depending on format string, the log file may contain secret or
24         #  private information about users.  Keep the file permissions as
25         #  restrictive as possible.
26         permissions = 0600
27
28         #
29         # The Unix group of the log file.
30         #
31         # The user that freeradius runs as must be in the specified
32         # group, otherwise it will not be possible to set the group.
33         #
34         # group = freerad
35
36         #
37         #  The default format string.
38         format = "This is a log message for %{User-Name}"
39
40         #
41         #  This next line can be omitted.  If it is omitted, then
42         #  the log message is static, and is always given by "format",
43         #  above.
44         #
45         #  If it is defined, then the string is dynamically expanded,
46         #  and the result is used to find another configuration entry
47         #  here, with the given name.  That name is then used as the
48         #  format string.
49         #
50         #  If the configuration entry cannot be found, then no log
51         #  message is printed.
52         #
53         #  i.e. You can have many log messages in one "linelog" module.
54         #  If this two-step expansion did not exist, you would have
55         #  needed to configure one "linelog" module for each log message.
56
57         #
58         #  Reference the Packet-Type (Access-Request, etc.)  If it doesn't
59         #  exist, reference the "format" entry, above.
60         reference = "%{%{Packet-Type}:-format}"
61
62         #
63         #  Followed by a series of log messages.
64         Access-Request = "Requested access: %{User-Name}"
65         Access-Reject = "Rejected access: %{User-Name}"
66         Access-Challenge = "Sent challenge: %{User-Name}"
67
68         #
69         #  The log messages can be grouped into sections and
70         #  sub-sections, too.  The "reference" item needs to have a "."
71         #  for every section.  e.g. reference = foo.bar will reference
72         #  the "foo" section, "bar" configuration item.
73         #
74
75         #
76         #  Used if:     reference = "foo.bar".
77         foo {
78             bar = "Example log.  Please ignore"
79         }
80
81         #
82         #  Another example:
83         #      reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
84         #
85         Accounting-Request {
86                 Start = "Connect: [%{User-Name}] (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} ip %{Framed-IP-Address})"
87                 Stop = "Disconnect: [%{User-Name}] (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} ip %{Framed-IP-Address}) %{Acct-Session-Time} seconds"
88
89                 #  Don't log anything for these packets.
90                 Alive = ""
91
92                 Accounting-On = "NAS %C (%{NAS-IP-Address}) just came online"
93                 Accounting-Off = "NAS %C (%{NAS-IP-Address}) just went offline"
94
95                 # don't log anything for other Acct-Status-Types.
96                 unknown = ""
97         }
98
99 }