syslog

Autres langues

Langue: ja

Version: 2007-06-01 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

syslog, klogctl - ¥«¡¼¥Í¥ë¤Î¥á¥Ã¥»¡¼¥¸¡¦¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¤òÆɤó¤À¤ê¾Ãµî¤·¤¿¤ê¤¹¤ë; console_loglevel ¤ÎÀßÄê¤ò¹Ô¤¦

½ñ¼°


int syslog(int type, char *bufp, int len);

                /* glibc ¤Ç¤Ï¥é¥Ã¥Ñ¡¼´Ø¿ô¤ÏÄ󶡤µ¤ì¤Æ¤¤¤Ê¤¤ */



/* glibc ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹ */


#include <sys/klog.h> int klogctl(int type, char *bufp, int len);

ÀâÌÀ

(syslogd(8) ¤ÈÏä¹) libc ´Ø¿ô¤Î syslog() ¤¬É¬Íפʾì¹ç¤Ï¡¢ syslog(3) ¤ò¸«¤ë¤³¤È¡£ ¤³¤Î̾Á°¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï¥«¡¼¥Í¥ë¤Î printk() ¥Ð¥Ã¥Õ¥¡¤òÀ©¸æ¤¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢glibc ¤Ç¤Ï klogctl() ¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£

type °ú¤­¿ô¤Ï¤³¤Î´Ø¿ô¤ÎÆ°ºî¤ò·èÄꤹ¤ë¡£

kernel/printk.c ¤«¤é¤Î°úÍÑ :


/*

 * Commands to sys_syslog:

 *

 *      0 -- ¥í¥°¤òÊĤ¸¤ë¡£¸½ºß¤Î¼ÂÁõ¤Ç¤Ï²¿¤â¤·¤Ê¤¤ (NOP) ¡£

 *      1 -- ¥í¥°¤ò³«¤¯¡£¸½ºß¤Î¼ÂÁõ¤Ç¤Ï²¿¤â¤·¤Ê¤¤ (NOP) ¡£

 *      2 -- ¥í¥°¤«¤éÆɤ߽Ф¹¡£

 *      3 -- ¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¤Ë»Ä¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¤¹¤Ù¤ÆÆɤ߽Ф¹¡£

 *      4 -- ¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¤Ë»Ä¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¤¹¤Ù¤ÆÆɤ߽Ф·¡¢¾Ãµî¤¹¤ë¡£

 *      5 -- ¥ê¥ó¥°¥Ð¥Ã¥Õ¥¡¤ò¾Ãµî¤¹¤ë¡£

 *      6 -- ¥³¥ó¥½¡¼¥ë¤Ø¤Î printk ·²¤ò̵¸ú¤Ë¤¹¤ë¡£

 *      7 -- ¥³¥ó¥½¡¼¥ë¤Ø¤Î printk ·²¤òÍ­¸ú¤Ë¤¹¤ë¡£

 *      8 -- ¥³¥ó¥½¡¼¥ë¤Ëɽ¼¨¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥ì¥Ù¥ë¤òÀßÄꤹ¤ë¡£

 *      9 -- ¥í¥°¥Ð¥Ã¥Õ¥¡¤Î̤ÆɤÎʸ»ú¿ô¤òÊÖ¤¹¡£

 */

root ¸¢¸Â¤Î¤Ê¤¤¥×¥í¥»¥¹¤Ë¤Ïµ¡Ç½ 3 ¤Î¤ß¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¡£ (µ¡Ç½ 9 ¤Ï Linux 2.4.10 ¤ÇÄɲ䵤줿)

¥«¡¼¥Í¥ë¡¦¥í¥°¡¦¥Ð¥Ã¥Õ¥¡ (kernel log buffer)
¥«¡¼¥Í¥ë¤ÏŤµ LOG_BUF_LEN (4096, 1.3.54 ¤«¤é¤Ï 8192, 2.1.113 ¤«¤é¤Ï 16384, ºÇ¶á¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤ËŤµ¤òÀßÄê²Äǽ) ¤Î½ä²ó¼°¤Î¥Ð¥Ã¥Õ¥¡¤ò»ý¤Ã¤Æ¤ª¤ê¡¢ ¤½¤ì¤Ë¤Ï¥«¡¼¥Í¥ë´Ø¿ô¤Î printk() ¤Î°ú¤­¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿ ¥á¥Ã¥»¡¼¥¸¤¬ (¤½¤Î¥í¥°¥ì¥Ù¥ë¤Ë¤«¤«¤ï¤é¤º) ³ÊǼ¤µ¤ì¤ë¡£

syslog() (2,buf,len) ¤Î¸Æ¤Ó½Ð¤·¤Ï¥«¡¼¥Í¥ë¡¦¥í¥°¡¦¥Ð¥Ã¥Õ¥¡¤¬¶õ¤Ç¤Ê¤¯¤Ê¤ë¤Þ¤ÇÂԤäơ¢ ºÇÂç len ¥Ð¥¤¥È¤Þ¤Ç buf ¤Ø¤ÈÆɤ߽Ф·¡¢Æɤ߹þ¤ó¤À ¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£¥í¥°¤«¤éÆɤޤ줿¥Ð¥¤¥È¤Ï¥í¥°¡¦¥Ð¥Ã¥Õ¥¡¤«¤é¾Ã¤¨¤ë: ¾ðÊó¤Ï°ìÅÙ¤·¤«Æɤळ¤È¤¬¤Ç¤­¤Ê¤¤¡£ ¤³¤ì¤Ï¥æ¡¼¥¶¡¼¤Î¥×¥í¥°¥é¥à¤¬ /proc/kmsg ¤òÆɤó¤À»þ¤Ë¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¤Ç¤â¤¢¤ë¡£

syslog() (3,buf,len) ¤Î¸Æ¤Ó½Ð¤·¤Ï¥í¥°¡¦¥Ð¥Ã¥Õ¥¡¤ÎºÇ¸å¤Î len ¥Ð¥¤¥È¤ò (ÈóÇ˲õŪ¤Ë)Æɤ߽Ф¹¡¢¤·¤«¤·¡¢Ä¾¶á¤Î¡Ö¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¾Ãµî¡×Ì¿Îá (¤³¤ÎÌ¿Îá¤Ï¥Ð¥Ã¥Õ¥¡¤ò¾Ãµî¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤) °Ê¹ß¤Ë¥Ð¥Ã¥Õ¥¡¤Ë½ñ¤­¹þ¤Þ¤ì¤¿¾ðÊó¤·¤«Æɤ߽Ф»¤Ê¤¤¡£ ÊÖ¤êÃͤÏÆɤ߹þ¤ó¤À¥Ð¥¤¥È¿ô¤Ç¤¢¤ë¡£

syslog() (4,buf,len) ¸Æ¤Ó½Ð¤·¤Ï¡Ö¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¾Ãµî¡×Ì¿Îá¤â¼Â¹Ô¤¹¤ë°Ê³°¤Ï µ¡Ç½ 3 ¤È´°Á´¤ËƱ¤¸¤Ç¤¢¤ë¡£

syslog() (5,dummy,idummy) ¸Æ¤Ó½Ð¤·¤Ï¡Ö¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¾Ãµî¡×Ì¿Îá¤Î¤ß¤ò¼Â¹Ô¤¹¤ë¡£

¥í¥°¥ì¥Ù¥ë (loglevel)
¥«¡¼¥Í¥ë¡¦¥ë¡¼¥Á¥ó¤Î printk() ¤Ï¡¢¥í¥°¥ì¥Ù¥ë¤¬ console_loglevel ÊÑ¿ô¤è¤ê¾®¤µ¤¤¤È¤­¤Ë¤Î¤ß¡¢¥³¥ó¥½¡¼¥ë¤Ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£ (console_loglevel ¤ÏºÇ½é DEFAULT_CONSOLE_LOGLEVEL (7)¤ËÀßÄꤵ¤ì¤ë¤¬¡¢µ¯Æ°»þ¤Ë¥«¡¼¥Í¥ë¤Î ¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ç debug ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï 10 ¤Ë ÀßÄꤵ¤ì¤ë¡¢¥«¡¼¥Í¥ë¡¦¥Õ¥©¡¼¥ë¥È¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï 15 ¤ËÀßÄꤵ¤ì¤ë¡£ ⤷¡¢10 ¤ä 15 ¤È¤¤¤¦¿ô»ú¤Ë°ÕÌ£¤Ï¤Ê¤¯¡¢8 ¤ÈƱÅù¤Ç¤¢¤ë¡£) ¤³¤ÎÊÑ¿ô¤Ï syslog() (8,dummy,value) ¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¡¢ÃͤÎÈÏ°Ï¤Ï 1-8 ¤Ç¤¢¤ë¡£ syslog() (type,dummy,idummy) ¸Æ¤Ó½Ð¤·¤Ç type ¤¬ 6 ¤â¤·¤¯¤Ï 7 ¤Î¾ì¹ç¡¢ console_loglevel ¤Ï 1 (¥«¡¼¥Í¥ë¡¦¥Ñ¥Ë¥Ã¥¯¤Î¤ß)¡¢ 7 (¥Ç¥Ð¥Ã¥°¡¦¥á¥Ã¥»¡¼¥¸°Ê³°¤ÎÁ´¤Æ) ¤Ë¤½¤ì¤¾¤ìÀßÄꤵ¤ì¤ë¡£

¥á¥Ã¥»¡¼¥¸¤Î³Æ¹Ô¤Ï¤½¤ì¤¾¤ì¤Ë¥í¥°¥ì¥Ù¥ë¤ò»ý¤Ä¡£¤³¤Î¥í¥°¥ì¥Ù¥ë¤Ï DEFAULT_MESSAGE_LOGLEVEL - 1 (6) ¤Ç¤¢¤ë¤¬¡¢ <d> (d ¤Ï 1-7 ¤ÎÈϰϤοô»ú) ¤Ç»Ï¤Þ¤ë¹Ô¤Î¥í¥°¥ì¥Ù¥ë¤Ï d ¤Ç¤¢¤ë¡£ ¥í¥°¥ì¥Ù¥ë¤Î´·½¬Åª¤Ê°ÕÌ£¤Ï <linux/kernel.h> ¤Ë°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:


#define KERN_EMERG    "<0>"  /* ¥·¥¹¥Æ¥à¤¬»ÈÍÑÉÔǽ          */

#define KERN_ALERT    "<1>"  /* ľ¤Á¤ËÂн褬ɬÍ×            */

#define KERN_CRIT     "<2>"  /* Ã×̿Ū¤Ê¾õÂÖ                */

#define KERN_ERR      "<3>"  /* ¥¨¥é¡¼¾õÂÖ                  */

#define KERN_WARNING  "<4>"  /* ·Ù¹ð¾õÂÖ                    */

#define KERN_NOTICE   "<5>"  /* Ä̾ï¾õÂÖ¤À¤¬Âç»ö¤Ê¾ðÊó      */

#define KERN_INFO     "<6>"  /* ÄÌÃÎ                        */

#define KERN_DEBUG    "<7>"  /* ¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤Î¾ðÊó        */

ÊÖ¤êÃÍ

¥¨¥é¡¼¤Î¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢errno ¤¬ÀßÄꤵ¤ì¤ë¡£¤½¤Î¾¤Î¾ì¹ç¡¢ type ¤¬ 2, 3, 4 ¤Ê¤é¤ÐÆɤ߹þ¤ó¤À¥Ð¥¤¥È¿ô¤ò¡¢¤½¤¦¤Ç¤Ê¤ì¤Ð 0 ¤òÊÖ¤¹¡£

¥¨¥é¡¼

EINVAL
ÉÔÀµ¤Ê¥Ñ¥é¥á¡¼¥¿¡£
EPERM
root ¤Î¸¢Íø¤ò»ý¤¿¤Ê¤¤¥×¥í¥»¥¹¤¬ console_loglevel¤òÊѹ¹¤·¤è¤¦¤È¤·¤¿¤«¡¢ ¥«¡¼¥Í¥ë¡¦¥á¥Ã¥»¡¼¥¸¡¦¥ê¥ó¥°¤ò¾Ãµî¤·¤è¤¦¤È¤·¤¿¡£
ERESTARTSYS
¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤¬¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤Æ³ä¤ê¹þ¤Þ¤ì¡¢²¿¤âÆɤ߽Ф»¤Ê¤«¤Ã¤¿¡£ (¥È¥ì¡¼¥¹Ãæ¤Ë¤·¤«È¯À¸¤¹¤ë¤³¤È¤Ï¤Ê¤¤)

½àµò

¤³¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï Linux ÆÃÍ­¤Ç¤¢¤ê¡¢°Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç¤Ï »ÈÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£

Ãí°Õ

¤«¤Ê¤ê½é´ü¤Îº¢¤«¤é¡¢Æ±¤¸Ì¾Á°¤ò»ý¤Ä¥«¡¼¥Í¥ë¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤È ¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Á¥ó¤¬Á´¤¯°Û¤Ê¤ëÂåʪ¤Ç¤¢¤ë¤Î¤ÏÉÔ¹¬¤Ê¤³¤È¤À¤È µ¤ÉÕ¤«¤ì¤Æ¤¤¤¿¡£ libc4 ¤È libc5 ¤Ç¤Ï¤³¤Î¥³¡¼¥ë¤ÎÈÖ¹æ¤Ï SYS_klog ¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤¿¡£ glibc2.0 ¤Ç¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï klogctl() ¤È¤¤¤¦Ì¾Á°¤Ë²þ¤á¤é¤ì¤¿¡£

´ØÏ¢¹àÌÜ

syslog(3)