Skip to content

Commit b299231

Browse files
committed
auto merge of #13982 : alexcrichton/rust/more-logging, r=nikomatsakis
This was accidentally left out of the recent logging improvements.
2 parents df621ac + be71d80 commit b299231

File tree

2 files changed

+49
-5
lines changed

2 files changed

+49
-5
lines changed

src/liblog/lib.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,11 @@ impl fmt::Signed for LogLevel {
195195

196196
impl Logger for DefaultLogger {
197197
fn log(&mut self, record: &LogRecord) {
198-
match write!(&mut self.handle,
199-
"{}:{}: {}",
200-
record.level,
201-
record.module_path,
202-
record.args) {
198+
match writeln!(&mut self.handle,
199+
"{}:{}: {}",
200+
record.level,
201+
record.module_path,
202+
record.args) {
203203
Err(e) => fail!("failed to log: {}", e),
204204
Ok(()) => {}
205205
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// ignore-android
12+
// ignore-win32
13+
14+
#![feature(phase)]
15+
16+
#[phase(syntax, link)]
17+
extern crate log;
18+
19+
use std::io::{Process, ProcessConfig};
20+
use std::os;
21+
use std::str;
22+
23+
fn main() {
24+
let args = os::args();
25+
if args.len() > 1 && args[1].as_slice() == "child" {
26+
debug!("foo");
27+
debug!("bar");
28+
return
29+
}
30+
31+
let env = [("RUST_LOG".to_owned(), "debug".to_owned())];
32+
let config = ProcessConfig {
33+
program: args[0].as_slice(),
34+
args: &["child".to_owned()],
35+
env: Some(env.as_slice()),
36+
..ProcessConfig::new()
37+
};
38+
let p = Process::configure(config).unwrap().wait_with_output();
39+
assert!(p.status.success());
40+
let mut lines = str::from_utf8(p.error.as_slice()).unwrap().lines();
41+
assert!(lines.next().unwrap().contains("foo"));
42+
assert!(lines.next().unwrap().contains("bar"));
43+
}
44+

0 commit comments

Comments
 (0)