1package srslog 2 3import ( 4 "errors" 5) 6 7// Priority is a combination of the syslog facility and 8// severity. For example, LOG_ALERT | LOG_FTP sends an alert severity 9// message from the FTP facility. The default severity is LOG_EMERG; 10// the default facility is LOG_KERN. 11type Priority int 12 13const severityMask = 0x07 14const facilityMask = 0xf8 15 16const ( 17 // Severity. 18 19 // From /usr/include/sys/syslog.h. 20 // These are the same on Linux, BSD, and OS X. 21 LOG_EMERG Priority = iota 22 LOG_ALERT 23 LOG_CRIT 24 LOG_ERR 25 LOG_WARNING 26 LOG_NOTICE 27 LOG_INFO 28 LOG_DEBUG 29) 30 31const ( 32 // Facility. 33 34 // From /usr/include/sys/syslog.h. 35 // These are the same up to LOG_FTP on Linux, BSD, and OS X. 36 LOG_KERN Priority = iota << 3 37 LOG_USER 38 LOG_MAIL 39 LOG_DAEMON 40 LOG_AUTH 41 LOG_SYSLOG 42 LOG_LPR 43 LOG_NEWS 44 LOG_UUCP 45 LOG_CRON 46 LOG_AUTHPRIV 47 LOG_FTP 48 _ // unused 49 _ // unused 50 _ // unused 51 _ // unused 52 LOG_LOCAL0 53 LOG_LOCAL1 54 LOG_LOCAL2 55 LOG_LOCAL3 56 LOG_LOCAL4 57 LOG_LOCAL5 58 LOG_LOCAL6 59 LOG_LOCAL7 60) 61 62func validatePriority(p Priority) error { 63 if p < 0 || p > LOG_LOCAL7|LOG_DEBUG { 64 return errors.New("log/syslog: invalid priority") 65 } else { 66 return nil 67 } 68} 69