// NewJournal returns a new Journal instance pointing to the local journal func NewJournal() (j *Journal, err error) { h, err := dlopen.GetHandle(libsystemdNames) if err != nil { return nil, err } defer func() { if err == nil { return } err2 := h.Close() if err2 != nil { err = fmt.Errorf(`%q and "error closing handle: %v"`, err, err2) } }() j = &Journal{lib: h} sd_journal_open, err := j.getFunction("sd_journal_open") if err != nil { return nil, err } r := C.my_sd_journal_open(sd_journal_open, &j.cjournal, C.SD_JOURNAL_LOCAL_ONLY) if r < 0 { return nil, fmt.Errorf("failed to open journal: %d", syscall.Errno(-r)) } return j, nil }
// NewJournal returns a new Journal instance pointing to the local journal func NewJournal() (j *Journal, err error) { j = &Journal{} sd_journal_open, err := getFunction("sd_journal_open") if err != nil { return nil, err } r := C.my_sd_journal_open(sd_journal_open, &j.cjournal, C.SD_JOURNAL_LOCAL_ONLY) if r < 0 { return nil, fmt.Errorf("failed to open journal: %d", syscall.Errno(-r)) } return j, nil }