]>
Commit | Line | Data |
---|---|---|
db78b1bd | 1 | .\"Copyright (c) 2004-2011 Apple Inc. All rights reserved. |
b16a592a | 2 | .\" |
57b0aad2 | 3 | .\"@APPLE_LICENSE_HEADER_START@ |
b16a592a | 4 | .\" |
57b0aad2 A |
5 | .\"This file contains Original Code and/or Modifications of Original Code |
6 | .\"as defined in and that are subject to the Apple Public Source License | |
7 | .\"Version 2.0 (the 'License'). You may not use this file except in | |
8 | .\"compliance with the License. Please obtain a copy of the License at | |
9 | .\"http://www.opensource.apple.com/apsl/ and read it before using this | |
10 | .\"file. | |
b16a592a | 11 | .\" |
57b0aad2 A |
12 | .\"The Original Code and all software distributed under the License are |
13 | .\"distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | .\"EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | .\"INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | .\"FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. | |
17 | .\"Please see the License for the specific language governing rights and | |
18 | .\"limitations under the License. | |
19 | .\" | |
20 | .\"@APPLE_LICENSE_HEADER_END@ | |
b16a592a A |
21 | .\" |
22 | .Dd October 18, 2004 | |
23 | .Dt SYSLOGD 8 | |
24 | .Os "Mac OS X" | |
25 | .Sh NAME | |
26 | .Nm syslogd | |
27 | .Nd Apple System Log server | |
28 | .Sh SYNOPSIS | |
29 | .Nm | |
30 | .Op Fl d | |
31 | .Op Fl D | |
32 | .Op Fl m Ar mark_interval | |
b16a592a | 33 | .Op Fl l Ar lib_path |
5dd30d76 A |
34 | .Op Fl db_max Ar size |
35 | .Op Fl utmp_ttl Ar time | |
c4fdb7d1 | 36 | .Op Fl mps_limit Ar quota |
5dd30d76 | 37 | .Op Fl dup_delay Ar time |
b16a592a A |
38 | .Op Fl module_name Li {0|1} |
39 | .Sh DESCRIPTION | |
40 | The | |
41 | .Nm | |
42 | server receives and processes log messages. | |
43 | Several modules receive input messages through various channels, | |
44 | including UNIX domain sockets associated with the | |
45 | .Xr syslog 3 , | |
46 | .Xr asl 3 , | |
47 | and kernel printf APIs, | |
5dd30d76 | 48 | and optionally on a UDP socket from network clients. |
b16a592a A |
49 | .Pp |
50 | The Apple System Log facility comprises the | |
51 | .Xr asl 3 | |
52 | API, a new | |
53 | .Nm | |
57b0aad2 | 54 | server, the |
b16a592a | 55 | .Xr syslog 1 |
57b0aad2 A |
56 | command-line utility, and a data store file manager, |
57 | .Xr aslmanager 8 . | |
b16a592a A |
58 | The system supports structured and extensible messages, |
59 | permitting advanced message browsing and management through search APIs and | |
60 | other components of the Apple system log facility. | |
61 | .Pp | |
62 | Log messages are retained in a data store, | |
57b0aad2 | 63 | subject to automatic archival, and input filtering as described below, |
b16a592a A |
64 | to simplify the task of locating log messages and to facilitate browsing and searching. |
65 | The data store is intended to become a replacement for the numerous log files that are currently | |
66 | found in various locations on the system. | |
67 | Those files will be phased out in future versions of Mac OS. | |
68 | .Pp | |
69 | The following options are recognized: | |
c4fdb7d1 | 70 | .Bl -tag -width "-dup_delay" |
b16a592a A |
71 | .It Fl d |
72 | Run | |
73 | .Nm | |
74 | in debugging mode. | |
75 | The server stays attached to the controlling terminal and prints debugging messages. | |
76 | .It Fl D | |
77 | Start as a daemon. | |
78 | This option forces | |
79 | .Nm | |
80 | to fork and have the child process become a daemon. | |
81 | Since | |
82 | .Nm | |
83 | is started by | |
84 | .Nm launchd , | |
85 | this is not normally required. | |
86 | .It Fl m | |
87 | Set the number of minutes between | |
88 | .Dq mark | |
89 | messages. | |
57b0aad2 A |
90 | Mark messages are normally disabled. |
91 | If | |
92 | .Fl m | |
93 | is specified with no arguments, mark messages will be written every 20 minutes. | |
b16a592a A |
94 | The |
95 | .Dq mark | |
96 | facility is disabled if the setting is zero minutes. | |
5dd30d76 | 97 | .It Fl db_max |
c4fdb7d1 | 98 | Sets the size limit in bytes for individual files in the data store. |
5dd30d76 A |
99 | The default value for |
100 | .Fl db_max | |
101 | is 25600000 bytes. | |
57b0aad2 | 102 | Files are closed upon reaching the maximum size, and a new file is opened for subsequent messages. |
5dd30d76 A |
103 | .It Fl utmp_ttl |
104 | Sets the time-to-live in seconds for messages used by the | |
105 | .Xr utmp , | |
106 | .Xr wtmp , | |
107 | and | |
108 | .Xr lastlog | |
109 | subsystems. | |
110 | The default is 31622400 seconds (approximately 1 year). | |
57b0aad2 A |
111 | Note that if archival is enabled (see the |
112 | .Xr aslmanager 8 | |
113 | manual), these messages will be copied to an archive | |
114 | after the regular time-to-live interval, but will persist in the data store until their own expiry time. | |
c4fdb7d1 | 115 | .It Fl mps_limit |
81582353 | 116 | Sets the kernel quota for messages per second allowed by |
c4fdb7d1 A |
117 | .Nm . |
118 | Any messages in excess of the quota limit from any process are ignored. | |
81582353 | 119 | An error message is logged stating that the kernel message quota has |
c4fdb7d1 A |
120 | been exceeded, and that remaining messages for the current second will be discarded. |
121 | The default limit is 500 messages per second per process. | |
122 | A value of 0 turns off the quota mechanism. | |
81582353 A |
123 | .Pp |
124 | Note that this setting only limits the number of kernel messages that will be saved by | |
125 | .Nm . | |
126 | User processes are limited to 36000 messages per hour. | |
127 | The limit for a user process is not enforced if a remote-control ASL filter is in | |
128 | place for the process. | |
5dd30d76 A |
129 | .It Fl dup_delay |
130 | Sets the time to delay for coalescing duplicate message in log files. | |
131 | If a process logs multiple messages with the same text, | |
b16a592a | 132 | .Nm |
5dd30d76 A |
133 | will wait for the specified period of time to coalesce duplicates. |
134 | If identical messages arrive during this interval, | |
135 | .Nm | |
136 | will print a message of the form: | |
137 | .Pp | |
138 | .Li May 7 12:34:56: --- last message repeated 17 times --- | |
139 | .Pp | |
140 | The default delay time is 30 seconds. | |
141 | Setting the value to 0 disables the coalescing mechanism. | |
b16a592a A |
142 | .El |
143 | .Pp | |
144 | The remaining options of the form | |
145 | .Fl module_name Li {0|1} | |
146 | may be used to disable (0) or enable (1) the action of several of | |
147 | .Mn 's | |
148 | internal modules. | |
149 | .Bl -tag -width "-asl_action" | |
150 | .It Fl asl_in | |
151 | The | |
152 | .Dq asl_in | |
153 | module receives log messages on the UNIX domain socket associated with the | |
154 | .Xr asl 3 | |
155 | API. | |
156 | The module may be disabled using | |
157 | .Fl asl_in Li 0 . | |
158 | The module is normally enabled. | |
159 | .It Fl asl_action | |
160 | The | |
161 | .Dq asl_action | |
162 | module examines the stream of received log messages and acts upon them according to the rules specified | |
163 | in the file /etc/asl.conf. | |
164 | See | |
165 | .Xr asl.conf 5 | |
166 | for details. | |
167 | .It Fl klog_in | |
168 | The | |
169 | .Dq klog_in | |
170 | module receives log messages on the UNIX domain socket associated with the kernel logging API. | |
171 | The module may be disabled using | |
172 | .Fl klog_in Li 0 . | |
173 | The module is normally enabled. | |
174 | .It Fl bsd_in | |
175 | The | |
176 | .Dq bsd_in | |
177 | module receives log messages on the UNIX domain socket associated with the | |
178 | .Xr syslog 3 | |
179 | API. | |
180 | The module may be disabled using | |
181 | .Fl bsd_in Li 0 . | |
182 | The module is normally enabled. | |
183 | .It Fl bsd_out | |
184 | The | |
185 | .Dq bsd_out | |
186 | module examines the stream of received log messages and acts upon them according to the rules specified | |
187 | in the file /etc/syslog.conf. | |
188 | See | |
189 | .Xr syslog.conf 5 | |
190 | for details. | |
191 | This module exists for backward compatibility with previous | |
192 | .Nm | |
193 | implementations. | |
194 | Apple encourages use of the | |
195 | .Xr syslog 1 | |
196 | and | |
197 | .Xr asl 3 | |
198 | search APIs over the use of the log files that are specified in the /etc/syslog.conf file. | |
199 | Future versions of Mac OS will move functions that are currently handled by the | |
200 | .Dq bsd_out | |
201 | module to the | |
202 | .Dq asl_action | |
203 | module. | |
204 | .It Fl udp_in | |
205 | The | |
206 | .Dq udp_in | |
207 | module receives log messages on the UDP socket associated with the Internet syslog message protocol. | |
5dd30d76 A |
208 | .Pp |
209 | This module is normally enabled, but is inactive. | |
210 | The actual UDP sockets are managed by | |
a83ff38a | 211 | .Nm launchd , |
5dd30d76 A |
212 | and configured in the |
213 | .Nm syslogd | |
214 | configuration file /System/Library/LaunchDaemons/com.apple.syslogd.plist. | |
215 | In the default configuration, | |
216 | .Nm launchd | |
217 | does not open any sockets for the | |
218 | .Dq syslog | |
219 | UDP service, so no sockets are provided to the | |
220 | .Dq udp_in | |
221 | module. | |
222 | If no sockets are provided, the module remains inactive. | |
a83ff38a A |
223 | A socket may be specified by adding the following entry to the |
224 | .Dq Sockets | |
225 | dictionary in the com.apple.syslogd.plist file. | |
226 | .Pp | |
227 | .Dl <key>NetworkListener</key> | |
228 | .Dl <dict> | |
229 | .Dl <key>SockServiceName</key> | |
230 | .Dl <string>syslog</string> | |
231 | .Dl <key>SockType</key> | |
232 | .Dl <string>dgram</string> | |
233 | .Dl </dict> | |
5dd30d76 A |
234 | .Pp |
235 | The module may be specifically disabled using the | |
236 | .Fl udp_in Li 0 | |
b16a592a A |
237 | option. |
238 | .El | |
239 | .Pp | |
240 | .Nm | |
b16a592a | 241 | reinitializes in response to a HUP signal. |
5dd30d76 A |
242 | .Sh MESSAGE EXPIRY AND ARCHIVAL |
243 | .Nm | |
57b0aad2 A |
244 | periodically invokes the |
245 | .Nm aslmanager | |
246 | utility, which manages files in the ASL data store. | |
247 | Files are removed or optionally copied to an archival directory after a (default) 2 day time-to-live. | |
248 | See the | |
249 | .Xr aslmanager 8 | |
250 | manual for details. | |
5dd30d76 | 251 | .Nm |
57b0aad2 A |
252 | invokes |
253 | .Nm aslmanager | |
254 | shortly after it starts up, at midnight local time if it is running, | |
255 | and any time that a data store file reaches the | |
5dd30d76 | 256 | .Fl db_max |
57b0aad2 A |
257 | size limit. |
258 | .Sh DATA STORE SECURITY | |
259 | Messages saved in the ASL message store are written to files in /var/log/asl. | |
260 | The message files are given read access controls corresponding to the read UID and GID specified in the messages themselves. | |
5dd30d76 A |
261 | Read access UID and GID settings may be attached to messages using the |
262 | .Xr asl 3 | |
263 | library by setting a value for the "ReadUID" and/or "ReadGID" message keys. | |
57b0aad2 | 264 | The file permissions prevent access-controlled messages from being read by unauthorized users. |
5dd30d76 A |
265 | .Pp |
266 | Although clients are generally free to use any value for the "Facility" message key, | |
267 | only processes running with UID 0 may log messages with a facility value of "com.apple.system", | |
268 | or with a value that has "com.apple.system" as a prefix. | |
269 | Messages logged by non UID 0 processes that use "com.apple.system" as a facility value or prefix | |
270 | will be saved with the facility value "user". | |
b16a592a | 271 | .Sh FILES |
57b0aad2 | 272 | .Bl -tag -width /var/log/asl.archive -compact |
b16a592a A |
273 | .It Pa /etc/syslog.conf |
274 | bsd_out module configuration file | |
275 | .It Pa /etc/asl.conf | |
276 | asl_action module configuration file | |
277 | .It Pa /var/run/syslog.pid | |
278 | process ID file | |
81582353 | 279 | .It Pa /var/run/syslog |
b16a592a A |
280 | name of the |
281 | .Ux | |
282 | domain datagram log socket | |
283 | .It Pa /dev/klog | |
284 | kernel log device | |
57b0aad2 A |
285 | .It Pa /var/log/asl |
286 | data store directory | |
287 | .It Pa /var/log/asl.archive | |
288 | default archive directory | |
a83ff38a A |
289 | .It Pa /System/Library/LaunchDaemons/com.apple.syslogd.plist |
290 | launchd configuration file for | |
291 | .Nm syslogd | |
b16a592a A |
292 | .El |
293 | .Sh SEE ALSO | |
294 | .Xr syslog 1 , | |
295 | .Xr logger 1 , | |
296 | .Xr asl 3 , | |
297 | .Xr syslog 3 , | |
298 | .Xr asl.conf 5 | |
299 | .Xr syslog.conf 5 | |
300 | .Sh HISTORY | |
301 | The | |
302 | .Nm | |
303 | utility appeared in | |
304 | .Bx 4.3 . | |
305 | .Pp | |
306 | The Apple System Log facility was introduced in Mac OS X 10.4. |