Eliminate more "using namespace" statements.
Remove more "using namespace" from source files.
Fix more code with respect to bypassing "using namespace". Currently,
Utils.h still has a using namespace, to prevent non-CommonLibs? code from
breaking. All CommonLibs? code has been compiled with tue Utils.h "using
namespace" commented out, though.
- merging in Dave's selfDetect branch so we can limit our components to only a single instance
- small changes to log messages, passing signal information through to the log and also echoing failed starts to to cout
- a HACK was needed to avoid signal 17, Dave can smooth this out in a more intelligent way than my workaround
- ticket #1549
Remove "hack" and put in correct signal number define.
Add support to CommonLib? to support google core dumper.
Add code to save various /proc files to a file when we crash (with core
generation). Tied to 2 configuration variables.
- remove need for 3rdParty include reference, libcoredump now can be built-from-scratch and installed as lib and -dev headers
Changed logger to use getpid() and gettid() instead of pthread_self(), as
pthread_self() just returns a pointer to an opaque data structure used by
pthreads, and the other two give information that is useful to relate to top,
ps, etc.
Accidently changed indent in SelfDetect::Exit(). Sorry Michael.
Found as a result of working through bug 1608.
Eliminate getpid() calls when logging.
Changed logging system to "cache" gettid() values, to avoid system calls at
runtime (ie, when logging).
The implementation is cludgy. This is because we create threads before main,
as a result of global thread objects (as opposed to pointers to thread objects
that get new'ed and started in main).
A view of the system through strace indicates one or two calls to gettid() per
thread (usually 1, occasionally 2). Changing the read lock in Log() to a write
lock deadlocks.
Add Log.Group SMS for easier SMS debugging.
Use LOG(CRIT) when existing so a diagnostic message is printed to the console before exiting.
Also clean up code slightly.
Remove smarts to cache thread id, as I believe there was a locking issue and
significantly added overhead dealing with locking each time than in just doing
the system call.
I expect that this will allow 1655 to work for Neel.
Bug 242 (yes, that old).

Add date to alarms (and console/syslog messages through Logger). Timestamp
was already there.
Result of merging features/dev -r7759:7824 to trunk.

Dont crash at shutdown.

Init logger gPid locally so Logger can be used in other programs besides OpenBTS, and shorten the log format.
Back out r6976, r6977, r6980, r6981, which were namespace removals.

There is nothing wrong with namespace, and these changes generated 1700 lines of
irrelevant diff output making it difficult to compare various revisions of CommonLibs.
typo in text output
Fixes: Calling LOG from sqlite3util when the database cannot be accessed causes infinite recursion when the LOG message attempts to access the database.
Fixes ticket #1733
The socket code throws errors, but since those are usually uncaught, it causes the containing program to end.
So added a devassert in these cases so we can catch how this happens if the Log.Level is DEBUG.
I did this to track down a bug, but of course, now the bug no longer occurs.