<p dir="auto">by <strong><a href="mailto:jonas@pfenniger.name">jonas@pfenniger.name</a></strong>:</p>
<pre class="notranslate">It seems that the go syslog package emits syslogs in a different way than other programs
creating variations in the output format.
The problem is that there is some duplication in the output that's not necessary.

Here are outputs on different machines. The first lines comes from my go socketmaster
project ( <a href="https://github.com/pandastream/socketmaster">https://github.com/pandastream/socketmaster</a> ) and the second line is just
something else for comparison:

On Ubuntu Precise amd64 (ryslog 5.8.6-1ubuntu8.4 with default config):

    2013-06-27T22:03:18.480508+00:00 i-5954eb33 2013-06-27T22:03:18Z i-5954eb33 socketmaster[15089]: Listening on tcp://:8080
    2013-06-27T22:26:22.306421+00:00 i-5954eb33 nginx: - 10.198.69.201 - - [27/Jun/2013:22:26:22 +0000] "-" 400 0 "-" "-" "-"

On OSX 10.8.4:

    27/06/2013 22:57:58.000 2013-06-27T22[-1]: 57:58+01:00 Big-Whoop.local socketmaster[4807]: Listening on tcp://:8080
    27/06/2013 22:46:25.576 GitX[82631]: Loaded 5287 commits in 0.100447 seconds (52634.723275/sec)

Go 1.0 and 1.1 produce the same output.

After looking around a bit in the code it seems that:
 * Go uses /dev/log or /var/run/syslog instead of the syscall that the other programs use
 * Go writes a full network-formatted syslog line even for localhost
 * It seems that the system logger then prepends it's own info which explains the duplication

So I guess my question is, would it be possible to change the go runtime to use the
syscall like everyone ?

Cheers,
  Jonas</pre>
<p dir="auto">by <strong>seth.bunce</strong>:</p>
<pre class="notranslate">In the "An I/O Package" section there is a bug in the "Open"
function.

The function is currently:
func Open(name string, mode int, perm int) (file *File, err os.Error) {

However, it should be:
func Open(name string, mode int, perm uint32) (file *File, err os.Error) {

  -Seth</pre>