~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/worker/logforwarder/sinks/syslog.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2016 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package sinks
 
5
 
 
6
import (
 
7
        "github.com/juju/errors"
 
8
 
 
9
        "github.com/juju/juju/logfwd"
 
10
        "github.com/juju/juju/logfwd/syslog"
 
11
        "github.com/juju/juju/worker/logforwarder"
 
12
)
 
13
 
 
14
// OpenSyslog returns a sink used to receive log messages to be forwarded.
 
15
func OpenSyslog(cfg *syslog.RawConfig) (*logforwarder.LogSink, error) {
 
16
        if !cfg.Enabled {
 
17
                return nil, errors.New("log forwarding not enabled")
 
18
        }
 
19
        client, err := syslog.Open(*cfg)
 
20
        if err != nil {
 
21
                return nil, errors.Trace(err)
 
22
        }
 
23
        if client == nil {
 
24
                // TODO(axw) we should be returning an error
 
25
                // which we interpret up the stack.
 
26
                return &logforwarder.LogSink{
 
27
                        SendCloser: emptySendCloser{},
 
28
                }, nil
 
29
        }
 
30
        sink := &logforwarder.LogSink{
 
31
                SendCloser: client,
 
32
        }
 
33
        return sink, nil
 
34
}
 
35
 
 
36
type emptySendCloser struct{}
 
37
 
 
38
func (emptySendCloser) Send([]logfwd.Record) error {
 
39
        return nil
 
40
}
 
41
 
 
42
func (emptySendCloser) Close() error {
 
43
        return nil
 
44
}