|  | // Copyright 2009 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | // +build !windows,!nacl,!plan9,!solaris,!irix | 
|  |  | 
|  | package syslog | 
|  |  | 
|  | import ( | 
|  | "errors" | 
|  | "net" | 
|  | ) | 
|  |  | 
|  | // unixSyslog opens a connection to the syslog daemon running on the | 
|  | // local machine using a Unix domain socket. | 
|  |  | 
|  | func unixSyslog() (conn serverConn, err error) { | 
|  | logTypes := []string{"unixgram", "unix"} | 
|  | logPaths := []string{"/dev/log", "/var/run/syslog", "/var/run/log"} | 
|  | for _, network := range logTypes { | 
|  | for _, path := range logPaths { | 
|  | conn, err := net.Dial(network, path) | 
|  | if err == nil { | 
|  | return &netConn{conn: conn, local: true}, nil | 
|  | } | 
|  | } | 
|  | } | 
|  | return nil, errors.New("Unix syslog delivery error") | 
|  | } |