1
Fork 0

Remove the __log function for __log_level

Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
This commit is contained in:
Alex Crichton 2013-08-27 23:12:05 -07:00
parent 3c3ae1d0e2
commit 8a966183fe
23 changed files with 115 additions and 195 deletions

View file

@ -740,59 +740,41 @@ pub fn std_macros() -> @str {
macro_rules! ignore (($($x:tt)*) => (()))
macro_rules! error (
($arg:expr) => (
__log(1u32, fmt!( \"%?\", $arg ))
);
($( $arg:expr ),+) => (
__log(1u32, fmt!( $($arg),+ ))
)
macro_rules! log(
($lvl:expr, $arg:expr) => ({
let lvl = $lvl;
if lvl <= __log_level() {
::std::logging::log(lvl, fmt!(\"%?\", $arg))
}
});
($lvl:expr, $($arg:expr),+) => ({
let lvl = $lvl;
if lvl <= __log_level() {
::std::logging::log(lvl, fmt!($($arg),+))
}
})
)
macro_rules! error( ($($arg:tt)+) => (log!(1u32, $($arg)+)) )
macro_rules! warn ( ($($arg:tt)+) => (log!(2u32, $($arg)+)) )
macro_rules! info ( ($($arg:tt)+) => (log!(3u32, $($arg)+)) )
macro_rules! debug( ($($arg:tt)+) => (
if cfg!(debug) { log!(4u32, $($arg)+) }
))
macro_rules! warn (
($arg:expr) => (
__log(2u32, fmt!( \"%?\", $arg ))
);
($( $arg:expr ),+) => (
__log(2u32, fmt!( $($arg),+ ))
)
)
macro_rules! info (
($arg:expr) => (
__log(3u32, fmt!( \"%?\", $arg ))
);
($( $arg:expr ),+) => (
__log(3u32, fmt!( $($arg),+ ))
)
)
macro_rules! debug (
($arg:expr) => (
if cfg!(debug) { __log(4u32, fmt!( \"%?\", $arg )) }
);
($( $arg:expr ),+) => (
if cfg!(debug) { __log(4u32, fmt!( $($arg),+ )) }
)
)
macro_rules! error2 (
($($arg:tt)*) => ( __log(1u32, format!($($arg)*)))
)
macro_rules! warn2 (
($($arg:tt)*) => ( __log(2u32, format!($($arg)*)))
)
macro_rules! info2 (
($($arg:tt)*) => ( __log(3u32, format!($($arg)*)))
)
macro_rules! debug2 (
($($arg:tt)*) => (
if cfg!(debug) { __log(4u32, format!($($arg)*)) }
)
macro_rules! log2(
($lvl:expr, $($arg:tt)+) => ({
let lvl = $lvl;
if lvl <= __log_level() {
::std::logging::log(lvl, format!($($arg)+))
}
})
)
macro_rules! error2( ($($arg:tt)+) => (log2!(1u32, $($arg)+)) )
macro_rules! warn2 ( ($($arg:tt)+) => (log2!(2u32, $($arg)+)) )
macro_rules! info2 ( ($($arg:tt)+) => (log2!(3u32, $($arg)+)) )
macro_rules! debug2( ($($arg:tt)+) => (
if cfg!(debug) { log2!(4u32, $($arg)+) }
))
macro_rules! fail(
() => (
@ -989,13 +971,13 @@ pub fn std_macros() -> @str {
// allocation but should rather delegate to an invocation of
// write! instead of format!
macro_rules! print (
($($arg:tt)+) => ( ::std::io::print(format!($($arg)+)))
($($arg:tt)+) => (::std::io::print(format!($($arg)+)))
)
// FIXME(#6846) once stdio is redesigned, this shouldn't perform an
// allocation but should rather delegate to an io::Writer
macro_rules! println (
($($arg:tt)+) => ({ print!($($arg)+); ::std::io::println(\"\"); })
($($arg:tt)+) => (::std::io::println(format!($($arg)+)))
)
// NOTE: use this after a snapshot lands to abstract the details