@@ -372,6 +372,14 @@ const (
372372 SD_JOURNAL_FIELD_CURSOR = "__CURSOR"
373373 SD_JOURNAL_FIELD_REALTIME_TIMESTAMP = "__REALTIME_TIMESTAMP"
374374 SD_JOURNAL_FIELD_MONOTONIC_TIMESTAMP = "__MONOTONIC_TIMESTAMP"
375+
376+ // Journal Flags
377+ SD_JOURNAL_FLAG_LOCAL_ONLY = int (C .SD_JOURNAL_LOCAL_ONLY )
378+ SD_JOURNAL_FLAG_RUNTIME_ONLY = int (C .SD_JOURNAL_RUNTIME_ONLY )
379+ SD_JOURNAL_FLAG_SYSTEM = int (C .SD_JOURNAL_SYSTEM )
380+ SD_JOURNAL_FLAG_CURRENT_USER = int (C .SD_JOURNAL_CURRENT_USER )
381+ SD_JOURNAL_FLAG_ALL_NAMESPACES = int (C .SD_JOURNAL_ALL_NAMESPACES )
382+ SD_JOURNAL_FLAG_INCLUDE_DEFAULT_NAMESPACE = int (C .SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE )
375383)
376384
377385// Journal event constants
@@ -422,14 +430,20 @@ func (m *Match) String() string {
422430
423431// NewJournal returns a new Journal instance pointing to the local journal
424432func NewJournal () (j * Journal , err error ) {
433+ return NewJournalWithFlags (SD_JOURNAL_FLAG_LOCAL_ONLY )
434+ }
435+
436+ // NewJournalWithFlags return a new Journal instance pointing to the local journal
437+ // with a list of flags indicating the scope and type of entries that will be accessed.
438+ func NewJournalWithFlags (flags int ) (j * Journal , err error ) {
425439 j = & Journal {}
426440
427441 sd_journal_open , err := getFunction ("sd_journal_open" )
428442 if err != nil {
429443 return nil , err
430444 }
431445
432- r := C .my_sd_journal_open (sd_journal_open , & j .cjournal , C .SD_JOURNAL_LOCAL_ONLY )
446+ r := C .my_sd_journal_open (sd_journal_open , & j .cjournal , C .int ( flags ) )
433447
434448 if r < 0 {
435449 return nil , fmt .Errorf ("failed to open journal: %s" , syscall .Errno (- r ).Error ())
0 commit comments