Merge pull request #156 from sateler/output_stdout
Added option to print to standard output
This commit is contained in:
commit
bf02fa123e
|
@ -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
|
||||
creates the file with 600 permissions.
|
||||
.IP
|
||||
To print output to standard output, use '-' as logfile: \fB-o\fR \fI-\fR.
|
||||
.IP
|
||||
See also \fBLOGFILE FORMAT\fR section.
|
||||
|
||||
.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
|
||||
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();
|
||||
|
||||
|
@ -423,7 +428,11 @@ int main(int argc, char **argv)
|
|||
int noclose = 1; // don't close streams (stderr used)
|
||||
if (daemon(nochdir, noclose) == -1) // 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
|
||||
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)
|
||||
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)
|
||||
error(EXIT_FAILURE, errno, "Error opening output file '%s'", args.logfile.c_str());
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ void usage()
|
|||
"\n"
|
||||
" -s, --start start logging keypresses\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"
|
||||
" -k, --kill kill running logkeys process\n"
|
||||
" -d, --device=FILE input event device [eventX from " INPUT_EVENT_PATH "]\n"
|
||||
|
|
Loading…
Reference in New Issue