logging: add XLOG() and XLOGF() logging macros
Summary: This adds new `XLOG()` and `XLOGF()` macros to the logging library. These are similar to `FB_LOG()` and `FB_LOGF()`, but do not require a Logger argument. Instead, the log category is picked automatically based on the current file name. The basic algorithm for picking the category name is to replace directory separators with '.', and to strip off the filename extension. For instance, all `XLOG()` statements in `src/foo/bar.cpp` will log to the category `src.foo.bar`. This also works correctly in header files: `XLOG()` statements in `src/foo/mylib.h` will log to `src.foo.mylib` This should generally result in a good log category hierarchy without the user having to spend additional time picking category names--we simply re-use the decisions that they already made for their directory layout. In general I expect the `XLOG()` macros to be convenient enough that users will use `XLOG()` in almost all cases rather than using `FB_LOG()`. The log category name used by `XLOG()` statements can be overridden using `XLOG_SET_CATEGORY()`, but this only works in .cpp files, not in header files. Reviewed By: wez Differential Revision: D4920257 fbshipit-source-id: 7ffafd9a4c87e6fb5eb35d86e0eb86ef1ed5be95
Showing
This diff is collapsed.
Please register or sign in to comment