courierlogger - Courier syslog wrapper
[-name= title] [-facility=subsystem] [-pid=filename]
[-user= user] [-group=group] [-droproot]
[[[-respawn] [-start] program [argument...]] |
[-stop] | [-restart]]
is a wrapper that captures another process's error
messages, and forwards them to the system logging facility,
There are two ways to use courierlogger:
1.Use the shell to pipe another command's
standard error, and/or its standard output, to courierlogger's standard
2.Alternatively, courierlogger itself
can start another process, and arrange to have its standard error
In either case, each read line of text is sent as a syslog message.
Use title for sending messages to
syslog. title should be the application's name.
for classifying messages.
Your syslog facility uses subsystem
to determine which log messages are
recorded in which log files. The currently defined subsystems are:
Not all of the above facility names are implemented on every system. Check your
system's syslog documentation for information on which facility names are
allowed, and which log files record the corresponding messages for each
Save courierlogger's process ID in
filename. The -pid option is required when -start,
-stop, -restart are given. If -pid is given without any
of these, -start is assumed.
Run as a daemon. The pid option is
required. courierlogger will quietly terminate if another
courierlogger process is already running. This is used to make sure
that only one instance of program is running at the same time. Specify a
different filename with pid to start a second copy of program.
Restart program if it terminates. Normally
courierlogger itself will terminate when program finishes running. Use
respawn to restart it instead.
Send a SIGHUP signal to the courierlogger
process (as determined by examining the contents of the file specified by
), which will in turn send a SIGHUP to its child program. Does
nothing if courierlogger is not running.
program must be originally started with the respawn
option if sending it
a SIGHUP causes it to terminate.
The same thing may be accomplished by sending SIGHUP to courierlogger
Send a SIGTERM signal to courierlogger, which
in turn forwards it on to program. If program does not terminate in 8 seconds,
kill it with SIGKILL.
If running as root, change credentials to the
given user and/or group, which may be given as names or numeric ids.
When running a child program, it is started before
privileges are dropped
(unless the -droproot
option is also given). This gives a means of
starting a child as root so it can bind to a privileged port, but still have
courierlogger run as a non-root user. For the -stop
options to work, you should configure the child program to drop its privileges
to the same userid too.
Drop root privileges before starting the child
process. The -user and -group options specify the non-privileges
userid and groupid. Without the -droproot option the child process
remains a root process, and only the parent courierlogger process drops
[ argument ] ...
If a program is given program will be started
as a child process of courierlogger, capturing its standard error.
Otherwise, courierlogger reads message from standard input, and
automatically terminates when standard input is closed.
(1), your syslog man page.