Closed
Description
It is quite old and primitive at this stage, being mostly implemented in the runtime. With our new-found Rustic powers we should be able to come up with a more robust design.
Sub-bugs to handle along the way:
- RUST_LOG=::help should be sorted #8949 RUST_LOG=::help should be sorted
- Remove the longest-match logic in module-name matching for logging #6032 path prefix / full name RUST_LOG specs
- Trace task names in logging macros #2672 trace task names when logging
- multiple logging sinks #7805 multiple logging sinks
- Make logging work with new runtime code #5021 integration with new runtime code
- Monomorphised log statements have the wrong path in the crate_map #3046 monomorphized fns get wrong logging name
- Warn when RUST_LOG contains a name that isn't a valid path #2038 warn on nonmatching RUST_LOG
- Symbolic log levels, not just numbers #6031 symbolic log levels
- crate name in log map is taken from name of output binary, not the crate name #3346 wrong name for logging (uses binary, not crate name)
- logging functions handle unicode poorly #2154 unicode logging
-
RUST_LOG=error
should turn on error-level logging for all modules #6033 turning on everything with RUST_LOG=error - rustc out of stack when RUST_LOG=rustc #5958 and RUST_LOG setting causes huge memory leak when building rustc #6558 OOM when running rustc with RUST_LOG on
- Custom polymorphic logging #2366 custom polymorphic logging