mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
*: rename to "journal"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
parent
5a61dc8008
commit
3a80499da4
@ -27,9 +27,9 @@ import (
|
|||||||
|
|
||||||
// use stderr as fallback
|
// use stderr as fallback
|
||||||
func getJournalWriteSyncer() (zapcore.WriteSyncer, error) {
|
func getJournalWriteSyncer() (zapcore.WriteSyncer, error) {
|
||||||
jw, err := logutil.NewJournaldWriter(os.Stderr)
|
jw, err := logutil.NewJournalWriter(os.Stderr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("can't find journald (%v)", err)
|
return nil, fmt.Errorf("can't find journal (%v)", err)
|
||||||
}
|
}
|
||||||
return zapcore.AddSync(jw), nil
|
return zapcore.AddSync(jw), nil
|
||||||
}
|
}
|
@ -30,16 +30,16 @@ import (
|
|||||||
"go.uber.org/zap/zapcore"
|
"go.uber.org/zap/zapcore"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewJournaldWriter wraps "io.Writer" to redirect log output
|
// NewJournalWriter wraps "io.Writer" to redirect log output
|
||||||
// to the local systemd journal. If journald send fails, it fails
|
// to the local systemd journal. If journald send fails, it fails
|
||||||
// back to writing to the original writer.
|
// back to writing to the original writer.
|
||||||
// The decode overhead is only <30µs per write.
|
// The decode overhead is only <30µs per write.
|
||||||
// Reference: https://github.com/coreos/pkg/blob/master/capnslog/journald_formatter.go
|
// Reference: https://github.com/coreos/pkg/blob/master/capnslog/journald_formatter.go
|
||||||
func NewJournaldWriter(wr io.Writer) (io.Writer, error) {
|
func NewJournalWriter(wr io.Writer) (io.Writer, error) {
|
||||||
return &journaldWriter{Writer: wr}, systemd.DialJournal()
|
return &journalWriter{Writer: wr}, systemd.DialJournal()
|
||||||
}
|
}
|
||||||
|
|
||||||
type journaldWriter struct {
|
type journalWriter struct {
|
||||||
io.Writer
|
io.Writer
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ type logLine struct {
|
|||||||
Caller string `json:"caller"`
|
Caller string `json:"caller"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *journaldWriter) Write(p []byte) (int, error) {
|
func (w *journalWriter) Write(p []byte) (int, error) {
|
||||||
line := &logLine{}
|
line := &logLine{}
|
||||||
if err := json.NewDecoder(bytes.NewReader(p)).Decode(line); err != nil {
|
if err := json.NewDecoder(bytes.NewReader(p)).Decode(line); err != nil {
|
||||||
return 0, err
|
return 0, err
|
@ -24,9 +24,9 @@ import (
|
|||||||
"go.uber.org/zap/zapcore"
|
"go.uber.org/zap/zapcore"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewJournaldWriter(t *testing.T) {
|
func TestNewJournalWriter(t *testing.T) {
|
||||||
buf := bytes.NewBuffer(nil)
|
buf := bytes.NewBuffer(nil)
|
||||||
jw, err := NewJournaldWriter(buf)
|
jw, err := NewJournalWriter(buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Skip(err)
|
t.Skip(err)
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@ func TestNewJournaldWriter(t *testing.T) {
|
|||||||
lg := zap.New(cr, zap.AddCaller(), zap.ErrorOutput(syncer))
|
lg := zap.New(cr, zap.AddCaller(), zap.ErrorOutput(syncer))
|
||||||
defer lg.Sync()
|
defer lg.Sync()
|
||||||
|
|
||||||
lg.Info("TestNewJournaldWriter")
|
lg.Info("TestNewJournalWriter")
|
||||||
if buf.String() == "" {
|
if buf.String() == "" {
|
||||||
// check with "journalctl -f"
|
// check with "journalctl -f"
|
||||||
t.Log("sent logs successfully to journald")
|
t.Log("sent logs successfully to journald")
|
Loading…
x
Reference in New Issue
Block a user