The use of Diags functions and tags is inconsistent and they are often wrapped with
incompatible macros in each module.
Following the discussion in https://issues.apache.org/jira/browse/TS-130 I propose that we:
1. use Diags() for diagnostic messages to appear from all builds
2. use Debug() for diagnostic messages to appear from only DEBUG builds,
replacing this with myriad of competing macros for this behavior in different moduels
3. organize the existing tags hierarchically and document then (at least) in the master P_XXXX.h file for
4. rename the -T argument form --debug_tags to --diag_tags
5. remove #define of IOCORE_MacheFatal to fprintf in P_EventSystem.h (what the heck is that?)
and other wrappers for these functions and standardize them
6. remove unused and competing ink_error.h/cc functions ink_fatal ink_dprintf etc.
and convert to the Fatal/Diags versions.
These are all vestiges of when ink_xxx.h were C headers and InkFoo.h were C++
headers. Which accounts for the redundancy.
Because "." is special in regex we could use:
so we could use -T"cache*" or -T"cache_write*" to capture different levels of events.