Skip to content

Commit 3e448eb

Browse files
committed
Make journal num entries configurable
1 parent 3799e88 commit 3e448eb

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

cmd/sd-dbus-hooks/config.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ import (
77
"gopkg.in/yaml.v2"
88
)
99

10+
const defaultJournalNumEntries = 20
11+
1012
type Config struct {
1113
Units []Unit `yaml:"units"`
1214
HTTP HTTP `yaml:"http"`
1315
SubscribeInterval int `yaml:"subscribe_interval"`
16+
JournalNumEntries uint64 `yaml:"journal_num_entries"`
1417
}
1518

1619
func (c *Config) getUnit(name string) (Unit, error) {
@@ -58,5 +61,10 @@ func LoadConfig(path string) (*Config, error) {
5861
return nil, err
5962
}
6063

64+
// use default value if journal_num_entries is not set
65+
if c.JournalNumEntries == 0 {
66+
c.JournalNumEntries = defaultJournalNumEntries
67+
}
68+
6169
return &c, err
6270
}

cmd/sd-dbus-hooks/journal.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import (
1010
"github.com/coreos/go-systemd/sdjournal"
1111
)
1212

13-
const journalNumEntries = 20
14-
1513
type unitJournalHandler struct {
1614
conn *dbus.Conn
1715
cfg *Config
@@ -21,7 +19,7 @@ func (h unitJournalHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
2119
name := r.URL.Path[len("/unit/journal/"):]
2220

2321
jcfg := sdjournal.JournalReaderConfig{
24-
NumFromTail: 20,
22+
NumFromTail: h.cfg.JournalNumEntries,
2523
Matches: []sdjournal.Match{
2624
{
2725
Field: sdjournal.SD_JOURNAL_FIELD_SYSTEMD_UNIT,
@@ -37,7 +35,7 @@ func (h unitJournalHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
3735
return
3836
}
3937

40-
log.Printf("[INFO] journal: show last %v entries for %v", journalNumEntries, name)
38+
log.Printf("[INFO] journal: show last %v entries for %v", h.cfg.JournalNumEntries, name)
4139
scanner := bufio.NewScanner(jr)
4240
for scanner.Scan() {
4341
fmt.Fprintf(w, "%v\n", scanner.Text())

config/config.dist.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ http:
88

99
# receive all changed units every interval over dbus
1010
subscribe_interval: 5
11+
# show last N journal entries from end
12+
journal_num_entries: 20
1113

1214
# units list
1315
units:

0 commit comments

Comments
 (0)