Added option to print to standard output
This commit is contained in:
parent
f6a1de2ac1
commit
02b32202e6
|
@ -49,6 +49,8 @@ Set ouput log file to \fIlogfile\fR. If no \fB-o\fR option is provided, logkeys
|
||||||
appends to \fI/var/log/logkeys.log\fR file. If \fIlogfile\fR doesn't exist, logkeys
|
appends to \fI/var/log/logkeys.log\fR file. If \fIlogfile\fR doesn't exist, logkeys
|
||||||
creates the file with 600 permissions.
|
creates the file with 600 permissions.
|
||||||
.IP
|
.IP
|
||||||
|
To print output to standard output, use '-' as logfile: \fB-o\fR \fI-\fR.
|
||||||
|
.IP
|
||||||
See also \fBLOGFILE FORMAT\fR section.
|
See also \fBLOGFILE FORMAT\fR section.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
|
|
|
@ -393,6 +393,11 @@ int main(int argc, char **argv)
|
||||||
if (!args.keymap.empty() && (!(args.flags & FLAG_EXPORT_KEYMAP) && args.us_keymap)) { // exporting uses args.keymap also
|
if (!args.keymap.empty() && (!(args.flags & FLAG_EXPORT_KEYMAP) && args.us_keymap)) { // exporting uses args.keymap also
|
||||||
error(EXIT_FAILURE, 0, "Incompatible flags '-m' and '-u'. See usage.");
|
error(EXIT_FAILURE, 0, "Incompatible flags '-m' and '-u'. See usage.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check for incompatible flags: if posting remote and output is set to stdout
|
||||||
|
if (args.post_size != 0 && ( args.logfile == "-" )) {
|
||||||
|
error(EXIT_FAILURE, 0, "Incompatible flags [--post-size | --post-http] and --output to stdout");
|
||||||
|
}
|
||||||
|
|
||||||
set_utf8_locale();
|
set_utf8_locale();
|
||||||
|
|
||||||
|
@ -423,7 +428,11 @@ int main(int argc, char **argv)
|
||||||
int noclose = 1; // don't close streams (stderr used)
|
int noclose = 1; // don't close streams (stderr used)
|
||||||
if (daemon(nochdir, noclose) == -1) // become daemon
|
if (daemon(nochdir, noclose) == -1) // become daemon
|
||||||
error(EXIT_FAILURE, errno, "Failed to become daemon");
|
error(EXIT_FAILURE, errno, "Failed to become daemon");
|
||||||
close(STDIN_FILENO); close(STDOUT_FILENO); // leave stderr open
|
close(STDIN_FILENO);
|
||||||
|
// leave stderr open
|
||||||
|
if (args.logfile != "-") {
|
||||||
|
close(STDOUT_FILENO);
|
||||||
|
}
|
||||||
|
|
||||||
// open input device for reading
|
// open input device for reading
|
||||||
input_fd = open(args.device.c_str(), O_RDONLY);
|
input_fd = open(args.device.c_str(), O_RDONLY);
|
||||||
|
@ -439,7 +448,13 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
// open log file (if file doesn't exist, create it with safe 0600 permissions)
|
// open log file (if file doesn't exist, create it with safe 0600 permissions)
|
||||||
umask(0177);
|
umask(0177);
|
||||||
FILE *out = fopen(args.logfile.c_str(), "a");
|
FILE *out = NULL;
|
||||||
|
if (args.logfile == "-") {
|
||||||
|
out = stdout;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
out = fopen(args.logfile.c_str(), "a");
|
||||||
|
}
|
||||||
if (!out)
|
if (!out)
|
||||||
error(EXIT_FAILURE, errno, "Error opening output file '%s'", args.logfile.c_str());
|
error(EXIT_FAILURE, errno, "Error opening output file '%s'", args.logfile.c_str());
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ void usage()
|
||||||
"\n"
|
"\n"
|
||||||
" -s, --start start logging keypresses\n"
|
" -s, --start start logging keypresses\n"
|
||||||
" -m, --keymap=FILE use keymap FILE\n"
|
" -m, --keymap=FILE use keymap FILE\n"
|
||||||
" -o, --output=FILE log output to FILE [" DEFAULT_LOG_FILE "]\n"
|
" -o, --output=FILE log output to FILE [" DEFAULT_LOG_FILE "] or standard output '-'\n"
|
||||||
" -u, --us-keymap use en_US keymap instead of configured default\n"
|
" -u, --us-keymap use en_US keymap instead of configured default\n"
|
||||||
" -k, --kill kill running logkeys process\n"
|
" -k, --kill kill running logkeys process\n"
|
||||||
" -d, --device=FILE input event device [eventX from " INPUT_EVENT_PATH "]\n"
|
" -d, --device=FILE input event device [eventX from " INPUT_EVENT_PATH "]\n"
|
||||||
|
|
Loading…
Reference in New Issue