Guest User

Untitled

a guest
Apr 20th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. package syslogclient
  2.  
  3. import (
  4. "os";
  5. "fmt";
  6. "net";
  7. "strings";
  8. )
  9.  
  10. const (
  11. KERN = 0;
  12. USER = 1;
  13. MAIL = 2;
  14. DAEMON = 3;
  15. AUTH = 4;
  16. SYSLOG = 5;
  17. LPR = 6;
  18. NEWS = 7;
  19. UUCP = 8;
  20. CRON = 9;
  21. AUTHPRIV = 10;
  22. FTP = 11;
  23. LOCAL0 = 16;
  24. LOCAL1 = 17;
  25. LOCAL2 = 18;
  26. LOCAL3 = 19;
  27. LOCAL4 = 20;
  28. LOCAL5 = 21;
  29. LOCAL6 = 22;
  30. LOCAL7 = 23;
  31. )
  32.  
  33. const (
  34. EMERGENCY = 0;
  35. ALERT = 1;
  36. CRITICAL = 2;
  37. ERROR = 3;
  38. WARNING = 4;
  39. NOTICE = 5;
  40. INFO = 6;
  41. DEBUG = 7;
  42. )
  43.  
  44. /*
  45. * Send syslog UDP packet to given host and port.
  46. */
  47. func Log(message string, level byte, facility byte, host string, port int16) (err os.Error) {
  48. var addr *net.UDPAddr;
  49. var conn *net.UDPConn;
  50.  
  51. data := fmt.Sprintf("<%d>%s", level + facility * 8, message);
  52. buf := strings.Bytes(data);
  53.  
  54. if addr, err = net.ResolveUDPAddr(host); err != nil {
  55. return;
  56. }
  57.  
  58. if conn, err = net.DialUDP("udp", nil, addr); err != nil {
  59. return;
  60. }
  61.  
  62. if err = conn.SetWriteTimeout(5 * 1000000000); err != nil {
  63. return;
  64. }
  65.  
  66. if _, err = conn.Write(buf); err != nil {
  67. return;
  68. }
  69.  
  70. err = conn.Close();
  71.  
  72. return;
  73. }
Add Comment
Please, Sign In to add comment