summaryrefslogtreecommitdiff
path: root/sysdep/unix/log.c
AgeCommit message (Collapse)Author
2018-09-18The MRT protocolOndrej Zajicek (work)
The new MRT protocol is responsible for periodic RIB table dumps in the MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is refactored and splitted between BGP to MRT protocols, will be more integrated into MRT in the future. Example: protocol mrt { table "*"; filename "%N_%F_%T.mrt"; period 60; } It is partially based on the old MRT code from Pavel Tvrdik.
2017-05-16Some more autoconf cleanupsOndrej Zajicek (work)
Replace integer type width detection with C99 fixed-width types. Also remove some unused or obsolete code. Thanks to Ruben Kerkhof for the patchset.
2016-11-01Log: Fix broken syslog nameOndrej Zajicek (work)
BIRD passed string from configuration to openlog(), which kept it internally. After reconfiguration the old string was freed, therefore openlog had invalid copy. Thanks to Chris Caputo for the original patch.
2016-07-11Log: Fix error handling of debug file openOndrej Zajicek (work)
Logging is not yet initialized, we have to use fprintf() here. Thanks to Pavel Tvrdik for noticing and debugging it.
2016-06-27cppcheck: fix va_end() functionsPavel TvrdĂ­k
2016-05-12Prog Doc: Complete several missing parametersPavel Tvrdik
2016-02-11Unix: Fix bug in syslog name handlingOndrej Zajicek (work)
Pointer to current_log_name has to be changed even if the name is the same, because the old one will be invalid/freed after reconfiguration.
2015-02-21Add const to a param msg at functions log_msg, log_rl, die, bug and debugPavel Tvrdik
2015-02-21Replacing GNU old-style field designator extensionPavel Tvrdik
2014-10-02Implements token bucket filter for rate limiting.Ondrej Zajicek
2014-02-07Workaround thread-unsafeness of cli_echo().Ondrej Zajicek
2013-11-22Minor fix in log_commit() w.r.t. changes in BFD branch.Ondrej Zajicek
2013-11-19BFD protocol, ready for release.Ondrej Zajicek
Supports OSPF and BGP and also statically configured sessions.
2013-10-05Fixes some BFD bugs and makes logging thread-safe.Ondrej Zajicek
2013-07-25Implements eval command and minor CLI cleanups.Ondrej Zajicek
Implemented eval command can be used to evaluate expressions. The patch also documents echo command and allows to use log classes instead of integer as a mask for echo.
2010-09-20Changes print-like filter commands to use a log instead of a stderr.Ondrej Zajicek
And extends the log subsystem to better handle that.
2010-04-07Configurable syslog name.Ondrej Zajicek
Also fixes a bug in syslog initialization.
2010-02-21Fix configure to enable warnings and fix most of them.Ondrej Zajicek
2010-02-03Makes date/time formats configurable.Ondrej Zajicek
2010-01-03Implements MRTdump feature.Ondrej Zajicek
2009-02-26Rate limit for most abundant log messagesOndrej Zajicek
2004-06-05Renamed log() to log_msg(), but still keeping the old name as a macro.Martin Mares
This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
2001-03-06Fixed <time.h> vs. <sys/time.h> problems.Martin Mares
2000-06-19If compiled with --enable-debug, don't even try to log to syslog unlessMartin Mares
the user forces it in the config file.
2000-06-09During initialization, log to both syslog and stderr. When a configurationMartin Mares
file has been read and it doesn't specify any logging, log to syslog only (if syslog is not available, then stderr).
2000-06-08Fixes for the programmer's manual.Martin Mares
2000-06-07Spelling fixes to progdoc.Martin Mares
2000-06-05Documented all the sysdeps (only briefly, I admit).Martin Mares
Except for Filters, RIP and OSPF, the progdocs are complete.
2000-05-31Before configuration file is read, log to _both_ syslog and stderr.Martin Mares
2000-05-08In non-debug mode, set default logging to syslog only, not stderr.Martin Mares
2000-05-08When reporting a bug(), call abort() instead of exit(), so that weMartin Mares
can analyse the core.
2000-03-12Fixed a bunch of FIXME's by removing them :)Martin Mares
1999-12-06Allow logging to stderr as well.Martin Mares
1999-12-06Logging is now configurable. You can define multiple log outputs (to bothMartin Mares
files and syslog) and assign lists of message categories to each of them.
1999-12-06Implemented echoing of log messages to CLI connections. Just try `echo all'.Martin Mares
1998-12-20Finer grained logging levels:Martin Mares
#define L_DEBUG "\001" /* Debugging messages */ #define L_INFO "\002" /* Informational messages */ #define L_WARN "\003" /* Warnings */ #define L_ERR "\004" /* Errors */ #define L_AUTH "\005" /* Authorization failed etc. */ #define L_FATAL "\006" /* Fatal errors */ #define L_TRACE "\002" /* Protocol tracing */ #define L_INFO "\003" /* Informational messages */ #define L_REMOTE "\004" /* Remote protocol errors */ #define L_WARN "\004" /* Local warnings */ #define L_ERR "\005" /* Local errors */ #define L_AUTH "\006" /* Authorization failed etc. */ #define L_FATAL "\007" /* Fatal errors */ #define L_BUG "\010" /* BIRD bugs */ Introduced bug() which is like die(), but with level L_BUG. Protocols should _never_ call die() as it should be used only during initialization and on irrecoverable catastrophic events like out of memory. Also introduced ASSERT() which behaves like normal assert(), but it calls bug() when assertion fails. When !defined(DEBUGGING), it gets ignored.
1998-11-16Complain loudly if the logging buffer would overflow.Martin Mares
1998-06-17debug() and log() use the new printf. Feel free to use new formattingMartin Mares
sequences for all output.
1998-05-03Added new subdir for UNIX-dependent files.Martin Mares
Now contains only functions for logging, but it will change soon.