aboutsummaryrefslogtreecommitdiffstats
path: root/main/logger.c
AgeCommit message (Collapse)AuthorFilesLines
2011-02-08Merged revisions 307092 via svnmerge from qwell1-10/+8
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r307092 | qwell | 2011-02-08 15:24:01 -0600 (Tue, 08 Feb 2011) | 9 lines Fix issue with verbose messages not showing on remote console. This code was reworked recently, and since the logchannel list hadn't been created yet at this point, and it was a verbose message, it was being dropped on the floor. Now it'll continue on to where it should be handled. (closes issue #18580) Reported by: pabelanger ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@307097 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-04Replace ast_log(LOG_DEBUG, ...) with ast_debug()pabelanger1-2/+2
(closes issue #18556) Reported by: kkm Review: https://reviewboard.asterisk.org/r/1071/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306258 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-31Support an alternate configuration file for the 'logger reload' command.tilghman1-11/+11
(closes issue #17668) Reported by: tilghman Patches: 20100718__logger_reload_altconf__2.diff.txt uploaded by tilghman (license 14) Review: (by lmadsen, russell within comments on issue tracker) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@300044 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-18Merged revisions 298960 via svnmerge from tilghman1-2/+150
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r298960 | tilghman | 2010-12-17 17:52:04 -0600 (Fri, 17 Dec 2010) | 20 lines Merged revisions 298957 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298957 | tilghman | 2010-12-17 17:30:55 -0600 (Fri, 17 Dec 2010) | 13 lines Merged revisions 298905 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298905 | tilghman | 2010-12-17 15:40:56 -0600 (Fri, 17 Dec 2010) | 6 lines Let Asterisk find better backtrace information with libbfd. The menuselect option BETTER_BACKTRACES, if enabled, will use libbfd to search for better symbol information within both the Asterisk binary, as well as loaded modules, to assist when using inline backtraces to track down problems. Review: https://reviewboard.asterisk.org/r/1055/ ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@298961 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-12Add support for several platforms to obtain the real thread ID.jpeeler1-17/+8
Already had the pthread ID which is not the same. The most obvious enhancement is in the "core show threads" output. As stated in the utils header, if the platform isn't supported -1 is reported (instead of the process ID previously). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@298137 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Merged revisions 287863 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r287863 | russell | 2010-09-21 08:41:41 -0500 (Tue, 21 Sep 2010) | 2 lines Fix a regression in verbose logger processing. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@287864 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-20Merged revisions 287639 via svnmerge from bbryant1-51/+21
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r287639 | bbryant | 2010-09-20 17:19:12 -0400 (Mon, 20 Sep 2010) | 8 lines Fixes an error with the logger that caused verbose messages to be spammed to the screen if syslog was configured in logger.conf (closes issue #17974) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/915/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@287640 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-25Merged revisions 279390 via svnmerge from tilghman1-4/+6
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r279390 | tilghman | 2010-07-25 12:32:21 -0500 (Sun, 25 Jul 2010) | 8 lines Don't assume qlog is open. (closes issue #17704) Reported by: vrban Patches: issue17704.patch uploaded by pabelanger (license 224) Tested by: vrban ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@279391 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-20Separate queue_log arguments into separate fields, and allow the text file ↵tilghman1-66/+178
to be used, even when realtime is used. (closes issue #17082) Reported by: coolmig Patches: 20100720__issue17082.diff.txt uploaded by tilghman (license 14) Tested by: coolmig git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278307 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-11Remove lines from the output related to the backtrace itself.tilghman1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@269936 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-10Ensure that 'logger show channels' works properly when wildcards are used in ↵kpfleming1-1/+1
logger.conf. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@269707 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-10Merged revisions 269635 via svnmerge from tilghman1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269635 | tilghman | 2010-06-10 02:52:34 -0500 (Thu, 10 Jun 2010) | 9 lines Ensure restartable system calls can restart (BSD signal semantics). This eliminates the annoying <beep> on the console. (closes issue #17477) Reported by: jvandal Patches: 20100610__issue17477.diff.txt uploaded by tilghman (license 14) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@269636 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-26Merged revisions 266142 via svnmerge from tilghman1-4/+7
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r266142 | tilghman | 2010-05-26 16:11:44 -0500 (Wed, 26 May 2010) | 14 lines Use sigaction for signals which should persist past the initial trigger, not signal. If you call signal() in a Solaris signal handler, instead of just resetting the signal handler, it causes the signal to refire, because the signal is not marked as handled prior to the signal handler being called. This effectively causes Solaris to immediately exceed the threadstack in recursive signal handlers and crash. (closes issue #17000) Reported by: rmcgilvr Patches: 20100526__issue17000.diff.txt uploaded by tilghman (license 14) Tested by: rmcgilvr ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@266146 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-20Correct 'all logger levels' patch to work properly.kpfleming1-1/+1
Nick Lewis pointed out that the patch as committed wouldn't actually include dynamic logger levels, which was missed by the other reviewers. Thanks! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@264497 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-19Add ability for logger channels to include *all* levels.kpfleming1-4/+4
Now that Asterisk modules can dynamically create and destroy logger levels on demand, it's useful to be able to configure a logger channel (console, file, whatever) to be able to accept log messages from *all* levels, even levels created dynamically. This patch adds support for this, by allowing the '*' level name to be used in logger.conf. Review: https://reviewboard.asterisk.org/r/663/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@264160 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-12CLI command logger set level auto complete.lmadsen1-2/+2
A simple patch to enable auto tab complete. (closes issue #17152) Reported by: pabelanger Patches: 0017152.patch uploaded by pabelanger (license 224) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@256821 f38db490-d61c-443f-a65b-d21fe96a405b
2010-02-24Merged revisions 248582 via svnmerge from tilghman1-3/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r248582 | tilghman | 2010-02-24 15:02:18 -0600 (Wed, 24 Feb 2010) | 7 lines Remove color code sequences from verbose messages that go to logfiles. (closes issue #16786) Reported by: dodo Patches: logger2.patch uploaded by dodo (license 989) Tested by: tilghman ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@248584 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-02Initialize a variable that we check immediately upon startup.tilghman1-1/+1
(closes issue #15973) Reported by: atis git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221920 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-17Correct the return value check for ast_safe_system.seanbright1-1/+1
The logic here was reversed as ast_safe_system returns -1 on error and not on success. Fix suggested by reporter. (closes issue #15667) Reported by: loic git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212574 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26Merge the new Channel Event Logging (CEL) subsystem.russell1-1/+1
CEL is the new system for logging channel events. This was inspired after facing many problems trying to represent what is possible to happen to a call in Asterisk using CDR records. For more information on CEL, see the built in HTML or PDF documentation generated from the files in doc/tex/. Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard work developing this code. Also, thanks to Matt Nicholson (mnicholson) and Sean Bright (seanbright) for their assistance in the final push to get this code ready for Asterisk trunk. Review: https://reviewboard.asterisk.org/r/239/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203638 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-25Move syslog utility functions into a separate file so they can be re-used.seanbright1-97/+21
This has the pleasant side effect of cleaning up the header inclusion process in logger.c. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203508 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-25Pass a logmsg to ast_log_vsyslog instead of separate arguments.seanbright1-12/+12
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203188 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-15More 'static' qualifiers on module global variables.kpfleming1-1/+1
The 'pglobal' tool is quite handy indeed :-) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200620 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-28Fix an incorrect call to ast_string_field_free_memory which caused a crash ↵file1-1/+0
in the logger. Since the message structure is allocated using ast_calloc_with_stringfields we do not need to free the memory used for the stringfields as it will get freed when the message structure is. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@197570 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-15Add ability for modules to dynamically register logger levelskpfleming1-73/+224
This patch adds the ability for modules to dynamically create logger levels for their own use; these are named levels just like the built-in levels, and can be directed to any destination that the logger can send any level to, by including their names in logger.conf. Review: https://reviewboard.asterisk.org/r/244/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194610 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-13Two fixes found while debugging with ast_backtrace():tilghman1-0/+3
1) If MALLOC_DEBUG is used when concurrently using ast_backtrace, the free() used in that routine will trigger an error, because the memory was allocated internally to libc, where we could not intercept that call to wrap it. Therefore, it's not memory we knew about, and the free is reported as an error. 2) Now that channels are objects, the old hack of initializing a channel to all zeroes no longer works, since we may try to call something like ast_channel_lock() within a function on that reference. In that case, it's reported as an error, because the pointer isn't an object reference. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194101 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-08Merged revisions 193193 via svnmerge from kpfleming1-10/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193193 | kpfleming | 2009-05-08 09:03:28 -0500 (Fri, 08 May 2009) | 7 lines Make absolute paths for logger channels work properly (Note: This is not a new feature, it was previously undocumented and broken.) The Asterisk logger has a feature to support absolute pathnames for logger channels, but the code implementing the feature was broken. This has been fixed, and the absolute path feature is now documented in the sample logger.conf. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@193194 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-02Remove rarely-used event_log/LOG_EVENT supportkpfleming1-69/+3
In discussions today at the Europe Asterisk Developer Meet-Up, we determined that the event_log was used in only 9 places in the entire tree, and really was not needed at all. The users have been converted to use LOG_NOTICE, or the messages have been removed since other messages were already in place that provided the same information. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191785 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-02Fix an error in queue_log file rotation optimization codekpfleming1-2/+1
This code was copy-and-pasted without properly changing references to event_rotate into queue_rotate, so under some conditions the log rotation would rotate queue_log even though it was not necessary. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@191775 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-24Convert the ast_channel data structure over to the astobj2 framework.russell1-1/+1
There is a lot that could be said about this, but the patch is a big improvement for performance, stability, code maintainability, and ease of future code development. The channel list is no longer an unsorted linked list. The main container for channels is an astobj2 hash table. All of the code related to searching for channels or iterating active channels has been rewritten. Let n be the number of active channels. Iterating the channel list has gone from O(n^2) to O(n). Searching for a channel by name went from O(n) to O(1). Searching for a channel by extension is still O(n), but uses a new method for doing so, which is more efficient. The ast_channel object is now a reference counted object. The benefits here are plentiful. Some benefits directly related to issues in the previous code include: 1) When threads other than the channel thread owning a channel wanted access to a channel, it had to hold the lock on it to ensure that it didn't go away. This is no longer a requirement. Holding a reference is sufficient. 2) There are places that now require less dealing with channel locks. 3) There are places where channel locks are held for much shorter periods of time. 4) There are places where dealing with more than one channel at a time becomes _MUCH_ easier. ChanSpy is a great example of this. Writing code in the future that deals with multiple channels will be much easier. Some additional information regarding channel locking and reference count handling can be found in channel.h, where a new section has been added that discusses some of the rules associated with it. Mark Michelson also assisted with the development of this patch. He did the conversion of ChanSpy and introduced a new API, ast_autochan, which makes it much easier to deal with holding on to a channel pointer for an extended period of time and having it get automatically updated if the channel gets masqueraded. Mark was also a huge help in the code review process. Thanks to David Vossel for his assistance with this branch, as well. David did the conversion of the DAHDIScan application by making it become a wrapper for ChanSpy internally. The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch. Review: http://reviewboard.digium.com/r/203/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190423 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10revert addition of LOG_SECURITY log channel; after further discussion, a ↵kpfleming1-7/+2
much better solution will be used git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187636 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-09add a dedicated log channel for modules to be able report security-related ↵kpfleming1-2/+7
events, so that they can be fed into external processes for analysis and possible mitigation efforts (inspired by this evening's Toronto Asterisk Users Group meeting and previous dicussions amongst various community members) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187269 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Assist proper thread synchronization when stopping the logger thread.mmichelson1-2/+7
I was finding that on my dev box, occasionally attempting to "stop now" in trunk would cause Asterisk to hang. I traced this to the fact that the logger thread was waiting on a condition which had already been signalled. The logger thread also need to be sure to check the value of the close_logger_thread variable. The close_logger_thread variable is only checked when the list of logmessages is empty. This allows for the logger thread to print and free any pending messages before exiting. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176174 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-09Added a comment to logger.c about where to put includesmnicholson1-0/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@168054 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-09Use ast_safe_system() in logger.c instead of system()mnicholson1-2/+3
(closes issue #14194) Reported by: pabelanger git-svn-id: http://svn.digium.com/svn/asterisk/trunk@168014 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-13Merge ast_str_opaque branch (discontinue usage of ast_str internals)tilghman1-4/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@163991 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-05Janitor, use ARRAY_LEN() when possible.eliel1-1/+1
(closes issue #13990) Reported by: eliel Patches: array_len.diff uploaded by eliel (license 64) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@161218 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-29incorporates r159808 from branches/1.4:kpfleming1-1/+1
------------------------------------------------------------------------ r159808 | kpfleming | 2008-11-29 10:58:29 -0600 (Sat, 29 Nov 2008) | 7 lines update dev-mode compiler flags to match the ones used by default on Ubuntu Intrepid, so all developers will see the same warnings and errors since this branch already had some printf format attributes, enable checking for them and tag functions that didn't have them format attributes in a consistent way ------------------------------------------------------------------------ in addition: move some format attributes from main/utils.c to the header files they belong in, and fix up references to the relevant functions based on new compiler warnings git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159818 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-19Fix checking for CONFIG_STATUS_FILEINVALID so that modules don't crash upon ↵twilson1-1/+1
trying to parse an invalid config git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157818 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-19Starting with a change to ensure that ast_verbose() preserves ABI compatibilitytilghman1-4/+20
in 1.6.1 (as compared to 1.6.0 and versions of 1.4), this change also deprecates the use of Asterisk with FreeBSD 4, given the central use of va_copy in core functions. va_copy() is C99, anyway, and we already require C99 for other purposes, so this isn't really a big change anyway. This change also simplifies some of the core ast_str_* functions. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157639 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-02bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 ↵kpfleming1-1/+3
branch, and add the ones needed for all the new code here too git-svn-id: http://svn.digium.com/svn/asterisk/trunk@153616 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-10Another batch of files from RSW. The remaining apps and a few moreseanbright1-15/+15
files from main/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@137089 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-25minor change to test automergekpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133819 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-24Print the correct PID in log messages. Prior tommichelson1-7/+9
this commit, only the logger thread's PID would be printed. (closes issue #13150) Reported by: atis Patches: log_pid.diff uploaded by putnopvut (license 60) Tested by: eliel git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133448 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-16Fix rotate strategytilghman1-4/+4
(Closes issue #13086) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@131166 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-08Janitor project to convert sizeof to ARRAY_LEN macro.bbryant1-2/+2
(closes issue #13002) Reported by: caio1982 Patches: janitor_arraylen5.diff uploaded by caio1982 (license 22) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@129045 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-01use %p to print a pointerrizzo1-5/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@126835 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-19Older versions of GNU gcc do not allow 'NULL' as sentinel.mvanbaak1-1/+1
They want (char *)NULL as sentinel. An example is OpenBSD (confirmed on 4.3) that ships with gcc 3.3.4 This commit introduces a contstant SENTINEL which is declared as: #define SENTINEL ((char *)NULL) All places I could test compile on my openbsd system are converted. Update CODING-GUIDELINES to tell about this constant. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@124127 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-03Do a deep copy of file and function strings to avoid a potential crash whenrussell1-5/+5
modules are unloaded. (closes issue #12780) Reported by: ys Patches: logger.diff uploaded by ys (license 281) -- modified by me for coding guidelines git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119892 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-29Adds support for changing logger settingss on remote consoles with a bbryant1-2/+41
new command "logger set level". i.e. "logger set level debug off" (closes issue #10891) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119126 f38db490-d61c-443f-a65b-d21fe96a405b