summaryrefslogtreecommitdiff
path: root/sysdep/unix/log.c
AgeCommit message (Collapse)Author
2021-11-22Debug messages with timestamps.Maria Matejka
On most of current hardware, getting monotonic clock is fast enough to get it and write for each debug message.
2021-11-22Coroutines: A simple and lightweight parallel execution framework.Maria Matejka
2021-11-22POSIX threads and thread-local storage is needed for concurrent executionMaria Matejka
2021-09-10Debug output uses local buffer to avoid clashes between threads.Maria Matejka
2020-11-25Log: Fix locking during log reconfigurationOndrej Zajicek (work)
The log subsystem should be locked earlier, as default_log_list() may internally manipulate with the current_log_list (if it is also a default log list).
2020-11-25Log: Reinitialize the static logging structuresOndrej Zajicek (work)
The static logging structures are reused, we need to reinitialize them otherwise add_tail() would fail in debug build. Reinitializing these structures should be fine as the list they belong to is being reinitialized on entry to the very same function. Thanks to Andreas Rammhold and Mikael Magnusson for patches.
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