summaryrefslogtreecommitdiff
path: root/sysdep/unix/log.c
AgeCommit message (Collapse)Author
2020-04-09Configuration strings are constant.Maria Matejka
This is merely a const propagation. There was no problem in there.
2019-07-30Log: Fixed race condition in reconfigure while BFD is runningMaria Matejka
2019-07-23RPKI: Fix reconfiguration when ssh parameters are undefinedOndrej Zajicek (work)
2019-07-10Debug: growing message format bufferMaria Matejka
This led in corner cases to undefined buffer content and garbage output.
2018-12-04Unix: Change debugging optionsOndrej Zajicek (work)
The old behavior was that enabling debugging did many nontrivial changes in BIRD behavior. The patch changes it that these changes are generally independent. Compiling with --enable-debug now just enables compile-time debug macros, but do not automatically activate debug mode (-d) nor local mode (-l). Debug mode with output to file (-D) do not force foreground mode (-f), therefore there is no need for backgroud option (-b), which is removed. Also fixes a bug when the default log target in -D mode was stderr instead of given debug file.
2018-11-20The 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.
2018-11-18Unix: Implement log file size limit / log rotationOndrej Zajicek (work)
Allow to specify log file size limit and ensure that log file is rotated to secondary name to avoid exceeding of log size limit. The patch also fixes a bug related to keeping old fds open after reconfiguration and using old fds after 'configure undo'.
2017-12-07Timers: Fix TBF and some last remainsOndrej Zajicek (work)
2017-12-07Timers: Parse and format functions for microsecond timesOndrej Zajicek (work)
Date/time output (e.g. in logs, show commands) can use %f to specify subsecond time. By default, millisecond precision is used in output.
2017-05-09Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-09Some 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-08Merge branch 'master' into int-newOndrej Zajicek (work)
2016-11-08Merge tag 'v1.6.2' into int-newOndrej Zajicek (work)
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-12Merge remote-tracking branch 'origin/master' into int-newOndrej Zajicek (work)
2016-05-12Prog Doc: Complete several missing parametersPavel Tvrdik
2016-05-10Merge branch 'int-new' into int-new-mergedJan Moskyto Matejka
2016-05-10Build system reworked to one global Makefile with includes and no nestingJan Moskyto Matejka
Also removed the lib-dir merging with sysdep. Updated #include's accordingly. Fixed make doc on recent Debian together with moving generated doc into objdir. Moved Makefile.in into root dir Retired all.o and birdlib.a Linking the final binaries directly from all the .o files.
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.