[syslog-ng] Questions about Facility, Priority and Level
Clayton Dukes
cdukes at gmail.com
Thu Jul 23 04:59:55 CEST 2009
Hey Guys,
According to the documentation:
$LEVEL = Importance level of the message represented as a number:
6 - Success, 5 - Informational, 4- Warning, or 3 - Error).
$FACILITY = The facility sending the message.
$PRI = Priority header of the message, storing the facility
and the level of the message.
Questions:
What is the difference between LEVEL and PRI in syslog-ng? it doesn't
seem to be storing anything but the level?
When I look in the database, it shows identical information about the two:
mysql> select distinct priority from logs;
+----------+
| priority |
+----------+
| alert |
| crit |
| debug |
| emerg |
| err |
| info |
| notice |
| warning |
+----------+
mysql> select distinct level from logs;
+---------+
| level |
+---------+
| err |
| info |
| notice |
| debug |
| warning |
| crit |
| emerg |
| alert |
+---------+
According to the RFC:
The Priority value is calculated by first multiplying the Facility
number by 8 and then adding the numerical value of the Severity. For
example, a kernel message (Facility=0) with a Severity of Emergency
(Severity=0) would have a Priority value of 0. Also, a "local use 4"
message (Facility=20) with a Severity of Notice (Severity=5) would
have a Priority value of 165. In the PRI part of a syslog message,
these values would be placed between the angle brackets as <0> and
<165> respectively. The only time a value of "0" will follow the "<"
is for the Priority value of "0". Otherwise, leading "0"s MUST NOT be
used.
So, if that's the case, couldn't I just grab the PRI from the message
and store only that in the table and use the code on my end to derive
the FAC and SEV (I assume severity = level in syslog-ng)?
Also, is there a way to store these as integers from syslog-ng?
There's a finite number of all of these, it seems that it would be
better/faster to store them as an integer in the table and reference
that in my code.
Or I could use enum - not sure which is faster.
Can I safely drop LEVEL or PRI and only keep one? it seems odd to have
two columns for the same thing :-)
Thanks!
______________________________________________________________
Clayton Dukes
______________________________________________________________
More information about the syslog-ng
mailing list