@@ -372,6 +372,14 @@ const (
372
372
SD_JOURNAL_FIELD_CURSOR = "__CURSOR"
373
373
SD_JOURNAL_FIELD_REALTIME_TIMESTAMP = "__REALTIME_TIMESTAMP"
374
374
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 )
375
383
)
376
384
377
385
// Journal event constants
@@ -422,14 +430,20 @@ func (m *Match) String() string {
422
430
423
431
// NewJournal returns a new Journal instance pointing to the local journal
424
432
func 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 ) {
425
439
j = & Journal {}
426
440
427
441
sd_journal_open , err := getFunction ("sd_journal_open" )
428
442
if err != nil {
429
443
return nil , err
430
444
}
431
445
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 ) )
433
447
434
448
if r < 0 {
435
449
return nil , fmt .Errorf ("failed to open journal: %s" , syscall .Errno (- r ).Error ())
0 commit comments