Documentation ¶
Index ¶
- type Daemonizer
- func (d *Daemonizer) AddFileLogger(path, prefix string, flags int) error
- func (d *Daemonizer) AddLogger(logger *log.Logger)
- func (d *Daemonizer) AddTempFileLogger(dir, pattern, prefix string, flags int) error
- func (d *Daemonizer) Close() error
- func (d *Daemonizer) Daemonize(args []string) (int, error)
- func (d *Daemonizer) HandleSignals(additionalHandler func() error)
- func (d *Daemonizer) Log(severity Severity, v ...any)
- func (d *Daemonizer) Sid() int
- type Severity
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Daemonizer ¶
type Daemonizer struct { // SyslogWriter is the writer used to write on the syslog SyslogWriter *syslog.Writer // Loggers is a slice containing all registered loggers Loggers []*log.Logger // contains filtered or unexported fields }
Daemonizer is a helper struct for "daemonizing" go processes
func NewDaemonizer ¶
func NewDaemonizer() (*Daemonizer, error)
NewDaemonizer creates a new Daemonizer instance and creates a writer to syslog
func (*Daemonizer) AddFileLogger ¶
func (d *Daemonizer) AddFileLogger(path, prefix string, flags int) error
AddFileLogger opens a writer to the file located at path and opens a logger on it, the adds it to the Loggers slice
func (*Daemonizer) AddLogger ¶
func (d *Daemonizer) AddLogger(logger *log.Logger)
AddLogger adds a logger to the Loggers slice
func (*Daemonizer) AddTempFileLogger ¶
func (d *Daemonizer) AddTempFileLogger(dir, pattern, prefix string, flags int) error
AddTempFileLogger opens a writer to the file located at path and opens a logger on it, then adds it to the Loggers slice. It uses the os.CreateTemp function to open files
func (*Daemonizer) Close ¶
func (d *Daemonizer) Close() error
Close closes SyslogWriter and all files. It also catches panic() events to log it in SyslogWriter and Loggers
func (*Daemonizer) Daemonize ¶
func (d *Daemonizer) Daemonize(args []string) (int, error)
Daemonize uses os.StartProcess to start itself as a daemon, like fork, returns 0 if in the child process, returns child process Pid if spawned, returns 1 if an error occurred in the parent process, unlike fork. the args parameters corresponds to the arguments passed to the child process the caller name is already added
func (*Daemonizer) HandleSignals ¶
func (d *Daemonizer) HandleSignals(additionalHandler func() error)
func (*Daemonizer) Log ¶
func (d *Daemonizer) Log(severity Severity, v ...any)
Log logs on SyslogWriter and Loggers, the severity is used for syslog