Log experiment
This series is an integration of the log crate. There are a few good reasons to do this:
- Many rust devs are familiar with the log crate.
- The log crate has multiple levels of logs.
- The log macros collect the module that the log message originates so that it can be printed with the message.
- External libs sometimes make use of the log crate. With this series, you can now see those messages.
Example log messages:
kernel::log:INFO -- Logger initialized.
kernel::arch::x86_64::start:INFO -- Redox OS starting...
kernel::arch::x86_64::start:INFO -- Kernel: 100000:1119978
kernel::arch::x86_64::start:INFO -- Stack: FFFFFF0000080000:FFFFFF000009F000
kernel::arch::x86_64::start:INFO -- Env: FFFFFF000009EFB0:FFFFFF000009F000
kernel::arch::x86_64::start:INFO -- RSDPs: 0:0
I broke it down into logic atomic pieces of functionality in each commit to make this easier to review.
I am thinking that we should ultimately get rid of println for the most part for something like this.
Edited by Wren Turkal