Mercurial > cpython-lru_cache-weakref
annotate Modules/syslogmodule.c @ 49955:878d40468c4e legacy-trunk
Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
| author | Vinay Sajip <vinay_sajip@yahoo.co.uk> |
|---|---|
| date | Wed, 03 Dec 2008 23:22:58 +0000 |
| parents | 52294af4b663 |
| children | e38335d4df91 5a524c6d4e83 |
| rev | line source |
|---|---|
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 /*********************************************************** |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
2 Copyright 1994 by Lance Ellinghouse, |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
3 Cathedral City, California Republic, United States of America. |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 All Rights Reserved |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
11 supporting documentation, and that the name of Lance Ellinghouse |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
12 not be used in advertising or publicity pertaining to distribution |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
13 of the software without specific, written prior permission. |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
15 LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE BE LIABLE FOR ANY SPECIAL, |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
18 INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
19 FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
20 NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
21 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 ******************************************************************/ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
25 /****************************************************************** |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
26 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
27 Revision history: |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
28 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
29 1998/04/28 (Sean Reifschneider) |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
30 - When facility not specified to syslog() method, use default from openlog() |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
31 (This is how it was claimed to work in the documentation) |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
32 - Potential resource leak of o_ident, now cleaned up in closelog() |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
33 - Minor comment accuracy fix. |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
34 |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
35 95/06/29 (Steve Clift) |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
36 - Changed arg parsing to use PyArg_ParseTuple. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
37 - Added PyErr_Clear() call(s) where needed. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
38 - Fix core dumps if user message contains format specifiers. |
|
13620
5b727ab37092
Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in either
Thomas Wouters <thomas@python.org>
parents:
13502
diff
changeset
|
39 - Change openlog arg defaults to match normal syslog behavior. |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
40 - Plug memory leak in openlog(). |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
41 - Fix setlogmask() to return previous mask value. |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
42 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
43 ******************************************************************/ |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
44 |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
45 /* syslog module */ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 |
|
2123
fd5ab7e828fc
cosmetic changes so these modules will work with the strict new naming scheme
Guido van Rossum <guido@python.org>
parents:
1855
diff
changeset
|
47 #include "Python.h" |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
48 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 #include <syslog.h> |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
51 /* only one instance, only one syslog, so globals should be ok */ |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
52 static PyObject *S_ident_o = NULL; /* identifier, held by openlog() */ |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
53 |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
54 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
55 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
56 syslog_openlog(PyObject * self, PyObject * args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
57 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
58 long logopt = 0; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
59 long facility = LOG_USER; |
|
34177
e89b1a240ff7
Backport fixes for bugs #1086555 and #1085744.
Raymond Hettinger <python@rcn.com>
parents:
24471
diff
changeset
|
60 PyObject *new_S_ident_o; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
61 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
62 if (!PyArg_ParseTuple(args, |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
63 "S|ll;ident string [, logoption [, facility]]", |
|
34177
e89b1a240ff7
Backport fixes for bugs #1086555 and #1085744.
Raymond Hettinger <python@rcn.com>
parents:
24471
diff
changeset
|
64 &new_S_ident_o, &logopt, &facility)) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
65 return NULL; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
66 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
67 /* This is needed because openlog() does NOT make a copy |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
68 * and syslog() later uses it.. cannot trash it. |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
69 */ |
|
34177
e89b1a240ff7
Backport fixes for bugs #1086555 and #1085744.
Raymond Hettinger <python@rcn.com>
parents:
24471
diff
changeset
|
70 Py_XDECREF(S_ident_o); |
|
e89b1a240ff7
Backport fixes for bugs #1086555 and #1085744.
Raymond Hettinger <python@rcn.com>
parents:
24471
diff
changeset
|
71 S_ident_o = new_S_ident_o; |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
72 Py_INCREF(S_ident_o); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
73 |
|
47527
52294af4b663
This reverts r63675 based on the discussion in this thread:
Gregory P. Smith <greg@mad-scientist.com>
parents:
47294
diff
changeset
|
74 openlog(PyString_AsString(S_ident_o), logopt, facility); |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
75 |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
76 Py_INCREF(Py_None); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
77 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
78 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
80 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
81 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
82 syslog_syslog(PyObject * self, PyObject * args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
83 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
84 char *message; |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
85 int priority = LOG_INFO; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
86 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
87 if (!PyArg_ParseTuple(args, "is;[priority,] message string", |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
88 &priority, &message)) { |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
89 PyErr_Clear(); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
90 if (!PyArg_ParseTuple(args, "s;[priority,] message string", |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
91 &message)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
92 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
93 } |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
94 |
|
45469
47a58ca3e10e
Patch #1957: syslogmodule: Release GIL when calling syslog(3)
Christian Heimes <christian@cheimes.de>
parents:
38489
diff
changeset
|
95 Py_BEGIN_ALLOW_THREADS; |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
96 syslog(priority, "%s", message); |
|
45469
47a58ca3e10e
Patch #1957: syslogmodule: Release GIL when calling syslog(3)
Christian Heimes <christian@cheimes.de>
parents:
38489
diff
changeset
|
97 Py_END_ALLOW_THREADS; |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
98 Py_INCREF(Py_None); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
99 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
100 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
101 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
102 static PyObject * |
|
38489
3fe3ccdf0155
Make use of METH_O and METH_NOARGS where possible.
Georg Brandl <georg@python.org>
parents:
36324
diff
changeset
|
103 syslog_closelog(PyObject *self, PyObject *unused) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
104 { |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
105 closelog(); |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
106 Py_XDECREF(S_ident_o); |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
107 S_ident_o = NULL; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
108 Py_INCREF(Py_None); |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
109 return Py_None; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
110 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
111 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
112 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
113 syslog_setlogmask(PyObject *self, PyObject *args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
114 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
115 long maskpri, omaskpri; |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
116 |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
117 if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri)) |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
118 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
119 omaskpri = setlogmask(maskpri); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
120 return PyInt_FromLong(omaskpri); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
121 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
122 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
123 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
124 syslog_log_mask(PyObject *self, PyObject *args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
125 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
126 long mask; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
127 long pri; |
|
11882
dc65c5f6ad7c
Massive patch by Skip Montanaro to add ":name" to as many
Guido van Rossum <guido@python.org>
parents:
9588
diff
changeset
|
128 if (!PyArg_ParseTuple(args, "l:LOG_MASK", &pri)) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
129 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
130 mask = LOG_MASK(pri); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
131 return PyInt_FromLong(mask); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
132 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
133 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
134 static PyObject * |
|
13502
7348cceee8fa
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11882
diff
changeset
|
135 syslog_log_upto(PyObject *self, PyObject *args) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
136 { |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
137 long mask; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
138 long pri; |
|
11882
dc65c5f6ad7c
Massive patch by Skip Montanaro to add ":name" to as many
Guido van Rossum <guido@python.org>
parents:
9588
diff
changeset
|
139 if (!PyArg_ParseTuple(args, "l:LOG_UPTO", &pri)) |
|
4921
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
140 return NULL; |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
141 mask = LOG_UPTO(pri); |
|
558abac7598d
Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents:
4600
diff
changeset
|
142 return PyInt_FromLong(mask); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
143 } |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
144 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
145 /* List of functions defined in the module */ |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
146 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
147 static PyMethodDef syslog_methods[] = { |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
148 {"openlog", syslog_openlog, METH_VARARGS}, |
|
38489
3fe3ccdf0155
Make use of METH_O and METH_NOARGS where possible.
Georg Brandl <georg@python.org>
parents:
36324
diff
changeset
|
149 {"closelog", syslog_closelog, METH_NOARGS}, |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
150 {"syslog", syslog_syslog, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
151 {"setlogmask", syslog_setlogmask, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
152 {"LOG_MASK", syslog_log_mask, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
153 {"LOG_UPTO", syslog_log_upto, METH_VARARGS}, |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
154 {NULL, NULL, 0} |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
155 }; |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
156 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
157 /* Initialization function for the module */ |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
158 |
|
24471
f66b3a3509c7
Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents:
22729
diff
changeset
|
159 PyMODINIT_FUNC |
|
13651
8a063423e0b7
Bunch of minor ANSIfications: 'void initfunc()' -> 'void initfunc(void)',
Thomas Wouters <thomas@python.org>
parents:
13620
diff
changeset
|
160 initsyslog(void) |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
161 { |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
162 PyObject *m; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
163 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
164 /* Create the module and add the functions */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
1737
diff
changeset
|
165 m = Py_InitModule("syslog", syslog_methods); |
|
36324
1af7f719ed28
Check return result from Py_InitModule*(). This API can fail.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34177
diff
changeset
|
166 if (m == NULL) |
|
1af7f719ed28
Check return result from Py_InitModule*(). This API can fail.
Neal Norwitz <nnorwitz@gmail.com>
parents:
34177
diff
changeset
|
167 return; |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
168 |
|
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
169 /* Add some symbolic constants to the module */ |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
170 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
171 /* Priorities */ |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
172 PyModule_AddIntConstant(m, "LOG_EMERG", LOG_EMERG); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
173 PyModule_AddIntConstant(m, "LOG_ALERT", LOG_ALERT); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
174 PyModule_AddIntConstant(m, "LOG_CRIT", LOG_CRIT); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
175 PyModule_AddIntConstant(m, "LOG_ERR", LOG_ERR); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
176 PyModule_AddIntConstant(m, "LOG_WARNING", LOG_WARNING); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
177 PyModule_AddIntConstant(m, "LOG_NOTICE", LOG_NOTICE); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
178 PyModule_AddIntConstant(m, "LOG_INFO", LOG_INFO); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
179 PyModule_AddIntConstant(m, "LOG_DEBUG", LOG_DEBUG); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
180 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
181 /* openlog() option flags */ |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
182 PyModule_AddIntConstant(m, "LOG_PID", LOG_PID); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
183 PyModule_AddIntConstant(m, "LOG_CONS", LOG_CONS); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
184 PyModule_AddIntConstant(m, "LOG_NDELAY", LOG_NDELAY); |
|
8823
f2a4a2b60860
Changes for BeOS, QNX and long long, by Chris Herborth.
Guido van Rossum <guido@python.org>
parents:
8286
diff
changeset
|
185 #ifdef LOG_NOWAIT |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
186 PyModule_AddIntConstant(m, "LOG_NOWAIT", LOG_NOWAIT); |
|
8823
f2a4a2b60860
Changes for BeOS, QNX and long long, by Chris Herborth.
Guido van Rossum <guido@python.org>
parents:
8286
diff
changeset
|
187 #endif |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
188 #ifdef LOG_PERROR |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
189 PyModule_AddIntConstant(m, "LOG_PERROR", LOG_PERROR); |
|
3197
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
190 #endif |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
191 |
|
5d16ecae8ee7
changes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2123
diff
changeset
|
192 /* Facilities */ |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
193 PyModule_AddIntConstant(m, "LOG_KERN", LOG_KERN); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
194 PyModule_AddIntConstant(m, "LOG_USER", LOG_USER); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
195 PyModule_AddIntConstant(m, "LOG_MAIL", LOG_MAIL); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
196 PyModule_AddIntConstant(m, "LOG_DAEMON", LOG_DAEMON); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
197 PyModule_AddIntConstant(m, "LOG_AUTH", LOG_AUTH); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
198 PyModule_AddIntConstant(m, "LOG_LPR", LOG_LPR); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
199 PyModule_AddIntConstant(m, "LOG_LOCAL0", LOG_LOCAL0); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
200 PyModule_AddIntConstant(m, "LOG_LOCAL1", LOG_LOCAL1); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
201 PyModule_AddIntConstant(m, "LOG_LOCAL2", LOG_LOCAL2); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
202 PyModule_AddIntConstant(m, "LOG_LOCAL3", LOG_LOCAL3); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
203 PyModule_AddIntConstant(m, "LOG_LOCAL4", LOG_LOCAL4); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
204 PyModule_AddIntConstant(m, "LOG_LOCAL5", LOG_LOCAL5); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
205 PyModule_AddIntConstant(m, "LOG_LOCAL6", LOG_LOCAL6); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
206 PyModule_AddIntConstant(m, "LOG_LOCAL7", LOG_LOCAL7); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
207 |
|
8286
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
208 #ifndef LOG_SYSLOG |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
209 #define LOG_SYSLOG LOG_DAEMON |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
210 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
211 #ifndef LOG_NEWS |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
212 #define LOG_NEWS LOG_MAIL |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
213 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
214 #ifndef LOG_UUCP |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
215 #define LOG_UUCP LOG_MAIL |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
216 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
217 #ifndef LOG_CRON |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
218 #define LOG_CRON LOG_DAEMON |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
219 #endif |
|
4c88cc62e9e9
Fix by Sean Reifschneider:
Guido van Rossum <guido@python.org>
parents:
7115
diff
changeset
|
220 |
|
22729
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
221 PyModule_AddIntConstant(m, "LOG_SYSLOG", LOG_SYSLOG); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
222 PyModule_AddIntConstant(m, "LOG_CRON", LOG_CRON); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
223 PyModule_AddIntConstant(m, "LOG_UUCP", LOG_UUCP); |
|
cdff3c7c1a76
Use the PyModule_Add*() APIs instead of manipulating the module dict
Fred Drake <fdrake@acm.org>
parents:
14346
diff
changeset
|
224 PyModule_AddIntConstant(m, "LOG_NEWS", LOG_NEWS); |
|
1737
ee2f88a4f9e2
Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
225 } |
