Home | History | Annotate | Download | only in syslog
      1 // Copyright 2009 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // +build !windows,!nacl,!plan9
      6 
      7 package syslog
      8 
      9 import (
     10 	"errors"
     11 	"net"
     12 )
     13 
     14 // unixSyslog opens a connection to the syslog daemon running on the
     15 // local machine using a Unix domain socket.
     16 
     17 func unixSyslog() (conn serverConn, err error) {
     18 	logTypes := []string{"unixgram", "unix"}
     19 	logPaths := []string{"/dev/log", "/var/run/syslog", "/var/run/log"}
     20 	for _, network := range logTypes {
     21 		for _, path := range logPaths {
     22 			conn, err := net.Dial(network, path)
     23 			if err != nil {
     24 				continue
     25 			} else {
     26 				return &netConn{conn: conn, local: true}, nil
     27 			}
     28 		}
     29 	}
     30 	return nil, errors.New("Unix syslog delivery error")
     31 }
     32