X-Git-Url: https://ruderich.org/simon/gitweb/?p=coloredstderr%2Fcoloredstderr.git;a=blobdiff_plain;f=README;h=d7ef1deab51fcce5c38d81c409831d04c610df79;hp=f2441d2962c83c539d8d52a1643786c1a1cf3f62;hb=f54cd101d750cb31f54081a41d6cb880a9199dba;hpb=6861a8c6b0729317cfd0c89f4ddee83ec5ef7f2e diff --git a/README b/README index f2441d2..d7ef1de 100644 --- a/README +++ b/README @@ -1,15 +1,15 @@ README ====== -coloredstderr is a small library which uses 'LD_PRELOAD' to color stderr. - +coloredstderr is a small library which uses 'LD_PRELOAD' to color stderr. It +``follows'' dups, has minimal performance overhead and can ignore certain +binaries (requires /proc). Like all solutions using 'LD_PRELOAD' it only works with dynamically linked binaries. Statically linked binaries, for example valgrind, are not supported. setuid binaries are also not supported ('LD_PRELOAD' disabled for security reasons). - It was inspired by stderred [2]. Similar solutions (using 'LD_PRELOAD') include: @@ -23,7 +23,10 @@ include: Most other existing solutions use a second process which colors its input and pipe stderr to it. However this creates different runtime behaviour resulting in a different ordering of the output. Partial lines (no newline) also often -cause problems. +cause problems. coloredstderr handles these cases correctly (but has other +possible issues, see below). + +coloredstderr is licensed under GPL 3 (or later). DEPENDENCIES @@ -96,7 +99,7 @@ The following additional environment variables are available: are colored. - 'COLORED_STDERR_IGNORED_BINARIES' Comma separated list of binary names/paths which should not be tracked - (including their children). Useful for `reset` which writes to the terminal + (including their children). Useful for `reset` which writes to the terminal, but fails to work if the output is colored. See below for an example. All environment variables starting with 'COLORED_STDERR_PRIVATE_*' are @@ -118,7 +121,7 @@ Bourne shell: COLORED_STDERR_POST="${esc}[0m" # default export COLORED_STDERR_PRE COLORED_STDERR_POST -Fix `reset`; its writes to the terminal must be unaltered. `reset` is +Fix `reset`; its writes to the terminal must be unaltered. `reset` is a symbolic-link to `tset` on some systems, adapt as necessary: COLORED_STDERR_IGNORED_BINARIES=/usr/bin/tset @@ -153,10 +156,12 @@ KNOWN ISSUES - `{fputc,putc,putchar}_unlocked()` are not hooked with glibc when writing to stdout (which might be redirected to stderr). Can't be fixed as the compiler inlines the code into the program without calling any function. -- Test `test_stdio.sh` fails on FreeBSD because it does handle the above +- Test `test_stdio.sh` fails on FreeBSD, because FreeBSD does handle the above correctly (no inlining), but the test is designed for GNU/Linux. - 'COLORED_STDERR_IGNORED_BINARIES' requires the `/proc` file system. Suggestions welcome. +- Output of `strace` is not always colored correctly as the output from + `coloredstderr` is traced and displayed as well. Suggestions welcome. BUGS @@ -177,7 +182,7 @@ LICENSE coloredstderr is licensed under GPL version 3 or later. -Copyright (C) 2013 Simon Ruderich +Copyright (C) 2013-2014 Simon Ruderich This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by