@@ -4243,64 +4243,6 @@ In general, `--crate-type=bin` or `--crate-type=lib` should be sufficient for
4243
4243
all compilation needs, and the other options are just available if more
4244
4244
fine-grained control is desired over the output format of a Rust crate.
4245
4245
4246
- ### Logging system
4247
-
4248
- The runtime contains a system for directing [ logging
4249
- expressions] ( #logging-expressions ) to a logging console and/or internal logging
4250
- buffers. Logging can be enabled per module.
4251
-
4252
- Logging output is enabled by setting the ` RUST_LOG ` environment variable.
4253
- ` RUST_LOG ` accepts a logging specification made up of a comma-separated list of
4254
- paths, with optional log levels. For each module containing log expressions, if
4255
- ` RUST_LOG ` contains the path to that module or a parent of that module, then
4256
- logs of the appropriate level will be output to the console.
4257
-
4258
- The path to a module consists of the crate name, any parent modules, then the
4259
- module itself, all separated by double colons (` :: ` ). The optional log level
4260
- can be appended to the module path with an equals sign (` = ` ) followed by the
4261
- log level, from 1 to 4, inclusive. Level 1 is the error level, 2 is warning, 3
4262
- info, and 4 debug. You can also use the symbolic constants ` error ` , ` warn ` ,
4263
- ` info ` , and ` debug ` . Any logs less than or equal to the specified level will
4264
- be output. If not specified then log level 4 is assumed. Debug messages can be
4265
- omitted by passing ` --cfg ndebug ` to ` rustc ` .
4266
-
4267
- As an example, to see all the logs generated by the compiler, you would set
4268
- ` RUST_LOG ` to ` rustc ` , which is the crate name (as specified in its ` crate_id `
4269
- [ attribute] ( #attributes ) ). To narrow down the logs to just crate resolution,
4270
- you would set it to ` rustc::metadata::creader ` . To see just error logging use
4271
- ` rustc=0 ` .
4272
-
4273
- Note that when compiling source files that don't specify a crate name the crate
4274
- is given a default name that matches the source file, with the extension
4275
- removed. In that case, to turn on logging for a program compiled from, e.g.
4276
- ` helloworld.rs ` , ` RUST_LOG ` should be set to ` helloworld ` .
4277
-
4278
- #### Logging Expressions
4279
-
4280
- Rust provides several macros to log information. Here's a simple Rust program
4281
- that demonstrates all four of them:
4282
-
4283
- ```
4284
- #![feature(phase)]
4285
- #[phase(plugin, link)] extern crate log;
4286
-
4287
- fn main() {
4288
- error!("This is an error log")
4289
- warn!("This is a warn log")
4290
- info!("this is an info log")
4291
- debug!("This is a debug log")
4292
- }
4293
- ```
4294
-
4295
- These four log levels correspond to levels 1-4, as controlled by ` RUST_LOG ` :
4296
-
4297
- ``` sh
4298
- $ RUST_LOG=rust=3 ./rust
4299
- This is an error log
4300
- This is a warn log
4301
- this is an info log
4302
- ```
4303
-
4304
4246
# Appendix: Rationales and design tradeoffs
4305
4247
4306
4248
* TODO* .
0 commit comments