//! if logging is disabled, none of the components of the log will be executed.
#![crate_name = "log"]
-#![experimental = "use the crates.io `log` library instead"]
+#![unstable = "use the crates.io `log` library instead"]
#![staged_api]
#![crate_type = "rlib"]
#![crate_type = "dylib"]
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/nightly/",
html_playground_url = "http://play.rust-lang.org/")]
+
+#![allow(unknown_features)]
#![feature(slicing_syntax)]
+#![feature(box_syntax)]
+#![allow(unknown_features)] #![feature(int_uint)]
+#![allow(unstable)]
#![deny(missing_docs)]
extern crate regex;
use std::io;
use std::mem;
use std::os;
+use std::ptr;
use std::rt;
use std::slice;
use std::sync::{Once, ONCE_INIT};
}
/// Wraps the log level with fmt implementations.
-#[derive(Copy, PartialEq, PartialOrd)]
+#[derive(Copy, PartialEq, PartialOrd, Show)]
pub struct LogLevel(pub u32);
-impl fmt::Show for LogLevel {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- fmt::String::fmt(self, fmt)
- }
-}
-
-impl fmt::String for LogLevel {
+impl fmt::Display for LogLevel {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
let LogLevel(level) = *self;
match LOG_LEVEL_NAMES.get(level as uint - 1) {
- Some(ref name) => fmt::String::fmt(name, fmt),
- None => fmt::String::fmt(&level, fmt)
+ Some(ref name) => fmt::Display::fmt(name, fmt),
+ None => fmt::Display::fmt(&level, fmt)
}
}
}
// Test the literal string from args against the current filter, if there
// is one.
match unsafe { FILTER.as_ref() } {
- Some(filter) if !filter.is_match(args.to_string().index(&FullRange)) => return,
+ Some(filter) if !filter.is_match(&args.to_string()[]) => return,
_ => {}
}
// Search for the longest match, the vector is assumed to be pre-sorted.
for directive in iter.rev() {
match directive.name {
- Some(ref name) if !module.starts_with(name.index(&FullRange)) => {},
+ Some(ref name) if !module.starts_with(&name[]) => {},
Some(..) | None => {
return level <= directive.level
}
/// `Once` primitive (and this function is called from that primitive).
fn init() {
let (mut directives, filter) = match os::getenv("RUST_LOG") {
- Some(spec) => directive::parse_logging_spec(spec.index(&FullRange)),
+ Some(spec) => directive::parse_logging_spec(&spec[]),
None => (Vec::new(), None),
};
assert!(!DIRECTIVES.is_null());
let _directives: Box<Vec<directive::LogDirective>> =
mem::transmute(DIRECTIVES);
- DIRECTIVES = 0 as *const Vec<directive::LogDirective>;
+ DIRECTIVES = ptr::null();
if !FILTER.is_null() {
let _filter: Box<Regex> = mem::transmute(FILTER);
- FILTER = 0 as *const _;
+ FILTER = ptr::null();
}
});
}