Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ°
LOG_EMER
ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡΡΡ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
LOG_ALERT
ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
LOG_DEBUG
ΠΌΠΎΠ³ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
syslog
, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
Π£ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ
syslog
, Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΡΠ΅Π»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ· ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΏΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΡΠΌΠΈΡΡΡΡΠ΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’Π΅Π»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
message
, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ
syslog
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ°
format
ΡΡΠ½ΠΊΡΠΈΠΈ
printf
. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
syslog
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π² ΡΡΠΈΠ»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ
printf
, Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΡΡΠΎΠΊΠ΅
message
. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
%m
Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
errno
. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 4.13.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 4.13. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
syslog
Π ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΡΠΊΡΡΡΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ».
#include <syslog.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
Β FILE *f;
Β f = fopen("not_here", "r");
Β if (!f) syslog(LOG_ERR|LOG_USER, "oops - %m\n");
Β exit(0);
}
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ syslog.Ρ, ΡΠΎ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°, Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π° /var/log/messages ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°:
Jun 9 09:24:50 suse103 syslog: oops β No such file or directory
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ, Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ
syslog
Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΆΡΡΠ½Π°Π».
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ·Π²Π°Π»Π° ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ; ΠΎΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΠΈΡΡΠ΅Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
syslog
Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
%m
Π±ΡΠ» Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠΎΠ±ΡΠ°ΡΡΠΈΠΌ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΡΡΠ΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π ΡΠ°ΠΉΠ»Π΅ syslog.h ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΆΡΡΠ½Π°Π»ΠΎΠ².
Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
<b>#include <syslog.h> void closelog(void);</b>
<b>void openlog(const char *ident, int logopt, int facility);</b>
<b>int setlogmask(int maskpri);</b>
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π°ΡΠΈΡ
ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ
openlog
. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ
ident
, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΊ Π²Π°ΡΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΅Π΅ Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ·Π΄Π°Π²ΡΠ΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
facility
Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΈΠΏ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΡΠΌΠΈΡΡΡΡΠ΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²ΡΠ·ΠΎΠ²Π°Ρ
syslog
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
LOG_USER
. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
logopt
Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ
syslog
. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
OR
Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
Π² ΡΠ°Π±Π». 4.7.
Π’Π°Π±Π»ΠΈΡΠ° 4.7
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ logopt
| ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
LOG_PID
| ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ |
LOG_CONS
| ΠΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ |
LOG_ODELAY
| ΠΡΠΊΡΡΠ²Π°Π΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ syslog
|
LOG_NDELAY
| ΠΡΠΊΡΡΠ²Π°Π΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ |
Π€ΡΠ½ΠΊΡΠΈΡ
openlog
Π²ΡΠ΄Π΅Π»ΠΈΡ ΠΈ ΠΎΡΠΊΡΠΎΠ΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π°. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΡΡΡ Π΅Π³ΠΎ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ
closelog
. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
openlog
ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ
syslog
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ
Π²Π°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
setlogmask
. ΠΡΠ΅ Π±ΡΠ΄ΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ
syslog
Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ, Π½Π΅ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΌΠ°ΡΠΊΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Ρ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΊΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ°
LOG_DEBUG
Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΠΊΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
LOG_MASK(priority)
, ΡΠΎΠ·Π΄Π°ΡΡΠ΅Π΅ ΠΌΠ°ΡΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
LOG_UPTO(priority)
, ΡΠΎΠ·Π΄Π°ΡΡΠ΅Π΅ ΠΌΠ°ΡΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 4.14.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 4.14. ΠΠ°ΡΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ (
logmask
)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅
logmask
Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.
#include <syslog.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>