github.com/guilhermebr/docker@v1.4.2-0.20150428121140-67da055cebca/daemon/logger/journald/journald.go (about)

     1  package journald
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/coreos/go-systemd/journal"
     7  	"github.com/docker/docker/daemon/logger"
     8  )
     9  
    10  type Journald struct {
    11  	Jmap map[string]string
    12  }
    13  
    14  func New(id string) (logger.Logger, error) {
    15  	if !journal.Enabled() {
    16  		return nil, fmt.Errorf("journald is not enabled on this host")
    17  	}
    18  	jmap := map[string]string{"MESSAGE_ID": id}
    19  	return &Journald{Jmap: jmap}, nil
    20  }
    21  
    22  func (s *Journald) Log(msg *logger.Message) error {
    23  	if msg.Source == "stderr" {
    24  		return journal.Send(string(msg.Line), journal.PriErr, s.Jmap)
    25  	}
    26  	return journal.Send(string(msg.Line), journal.PriInfo, s.Jmap)
    27  }
    28  
    29  func (s *Journald) Close() error {
    30  	return nil
    31  }
    32  
    33  func (s *Journald) Name() string {
    34  	return "Journald"
    35  }