eventlog

package
v0.2.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractTimestamp added in v0.2.17

func ExtractTimestamp(line string) (time.Time, bool)

ExtractTimestamp parses the RFC3339 timestamp at the start of a log line (everything before the first " " double-space separator). Returns the parsed time and true on success, or zero time and false on failure.

func KindString added in v0.2.12

func KindString(k EntryKind) string

KindString returns a human-readable string for an EntryKind.

func Log

func Log(action string, steps []config.Step, afk bool, vars tmpl.Vars)

Log appends to the log file a summary line followed by one detail line per step. Errors are printed to stderr but never returned — logging is best-effort.

func LogCooldown added in v0.2.3

func LogCooldown(profile, action string, cooldownSeconds int)

LogCooldown appends a single line noting that an invocation was skipped due to cooldown. Best-effort, same as Log.

func LogCooldownRecord added in v0.2.3

func LogCooldownRecord(profile, action string, cooldownSeconds int)

LogCooldownRecord appends a single line noting that cooldown state was updated for an action. Best-effort, same as Log.

func LogPath added in v0.2.11

func LogPath() string

LogPath returns the log file location:

  • Windows: %APPDATA%\notify\notify.log
  • Unix: ~/.config/notify/notify.log

func LogSilent added in v0.2.7

func LogSilent(profile, action string)

LogSilent appends a single line noting that an invocation was skipped due to silent mode. Best-effort, same as Log.

func LogSilentDisable added in v0.2.7

func LogSilentDisable()

LogSilentDisable appends a single line noting that silent mode was disabled. Best-effort, same as Log.

func LogSilentEnable added in v0.2.7

func LogSilentEnable(d time.Duration)

LogSilentEnable appends a single line noting that silent mode was enabled. Best-effort, same as Log.

func StepSummary added in v0.2.17

func StepSummary(s config.Step, vars *tmpl.Vars) string

StepSummary returns a human-readable description of what a step does. When vars is non-nil, template variables are expanded (logging mode). When vars is nil, raw values are shown (dry-run mode). When/volume suffixes are always appended if present.

Types

type DayGroup added in v0.2.11

type DayGroup struct {
	Date      time.Time
	Summaries []DaySummary
}

DayGroup holds all summaries for a single calendar day.

func SummarizeByDay added in v0.2.11

func SummarizeByDay(entries []Entry, days int) []DayGroup

SummarizeByDay filters entries to the last N calendar days (local time), groups by date + profile/action, and returns day groups sorted descending with summaries sorted alphabetically. Pass days=0 to include all entries.

type DaySummary added in v0.2.11

type DaySummary struct {
	Profile    string
	Action     string
	Executions int
	Skipped    int
}

DaySummary holds execution and skip counts for one profile/action pair.

type Entry added in v0.2.11

type Entry struct {
	Time    time.Time
	Profile string
	Action  string
	Kind    EntryKind
}

Entry is a single parsed log entry.

func ParseEntries added in v0.2.11

func ParseEntries(content string) []Entry

ParseEntries splits log content on blank lines and parses summary lines into entries. Each block may contain multiple summary lines (e.g. a cooldown=recorded line followed by an execution line) plus step detail lines (indented with "step["). Step detail lines are skipped. Each summary line produces one Entry. Malformed lines are silently skipped.

type EntryKind added in v0.2.11

type EntryKind int

EntryKind classifies a log entry.

const (
	KindExecution EntryKind = iota
	KindCooldown
	KindSilent
	KindOther
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL