RFC: 5424
Оригинал: The Syslog Protocol
Предыдущие версии: RFC 3164
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: StLeutnant

6. Формат сообщений

Описание формата сообщений Syslog приводится с помощью обозначений ABNF (Augmented Backus-Naur Form) в соответствии с RFC 5234:

SYSLOG-MSG      = HEADER SP STRUCTURED-DATA [SP MSG]
HEADER          = PRI VERSION SP TIMESTAMP SP HOSTNAME SP
                  APP-NAME SP PROCID SP MSGID
PRI             = "<" PRIVAL ">"
PRIVAL          = 1*3DIGIT
                  в диапазоне 0 .. 191
VERSION         = NONZERO-DIGIT 0*2DIGIT
HOSTNAME        = NILVALUE / 1*255PRINTUSASCII
APP-NAME        = NILVALUE / 1*48PRINTUSASCII
PROCID          = NILVALUE / 1*128PRINTUSASCII
MSGID           = NILVALUE / 1*32PRINTUSASCII
TIMESTAMP       = NILVALUE / FULL-DATE "T" FULL-TIME
FULL-DATE       = DATE-FULLYEAR "-" DATE-MONTH "-" DATE-MDAY
DATE-FULLYEAR   = 4DIGIT
DATE-MONTH      = 2DIGIT
                  в диапазоне 01-12
DATE-MDAY       = 2DIGIT
                  в диапазонах 01-28, 01-29, 01-30, 01-31,
                  в зависимости от количества дней в месяце
FULL-TIME       = PARTIAL-TIME TIME-OFFSET
PARTIAL-TIME    = TIME-HOUR ":" TIME-MINUTE ":" TIME-SECOND
                  [TIME-SECFRAC]
TIME-HOUR       = 2DIGIT
                  в диапазоне 00-23
TIME-MINUTE     = 2DIGIT
                  в диапазоне 00-59
TIME-SECOND     = 2DIGIT
                  в диапазоне 00-59
TIME-SECFRAC    = "." 1*6DIGIT
TIME-OFFSET     = "Z" / TIME-NUMOFFSET
TIME-NUMOFFSET  = ("+" / "-") TIME-HOUR ":" TIME-MINUTE
STRUCTURED-DATA = NILVALUE / 1*SD-ELEMENT
SD-ELEMENT      = "[" SD-ID *(SP SD-PARAM) "]"
SD-PARAM        = PARAM-NAME "=" %d34 PARAM-VALUE %d34
SD-ID           = SD-NAME
PARAM-NAME      = SD-NAME
PARAM-VALUE     = UTF-8-STRING
                  одиночные символы %d34 ("), '\' и ']'
                  ДОЛЖНЫ быть экранированы предшествующим
                  символом '\'
SD-NAME         = 1*32PRINTUSASCII
                  исключая '=', %d32 (пробел), ']', %d34 (")
MSG             = MSG-ANY / MSG-UTF8
MSG-ANY         = *OCTET
                  начинается не с метки порядка байтов
                  (BOM - Byte Order Mask)
MSG-UTF8        = BOM UTF-8-STRING
BOM             = %xEF.BB.BF
UTF-8-STRING    = *OCTET
                  строка символов UTF-8, как определено в RFC 3629
OCTET           = %d00-255
SP              = %d32
PRINTUSASCII    = %d33-126
NONZERO-DIGIT   = %d49-57
DIGIT           = %d48 / NONZERO-DIGIT
NILVALUE        = "-"
2007 - 2017 © Русские переводы RFC, IETF, ISOC.