forked from proxmox-mirrors/proxmox
log: ignore to_stdout parameter
This parameter causes the FileLogger to duplicate the log output to stdout. This causes duplicate output on proxmox-backup-manager because this is now handled by tracing. This should be removed completely in the future. In the worst case this will only result in missing log lines on stdout (which is visible only on proxmox-backup-manager/client invocations anyway). Signed-off-by: Gabriel Goller <g.goller@proxmox.com> [ TL: add doc-comment to struct, note why it can be removed ] Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
7200cd7e23
commit
cc79b2f08a
@ -17,7 +17,8 @@ pub struct FileLogOptions {
|
||||
pub read: bool,
|
||||
/// If set, ensure that the file is newly created or error out if already existing.
|
||||
pub exclusive: bool,
|
||||
/// Duplicate logged messages to STDOUT, like tee
|
||||
/// Duplicate logged messages to STDOUT, like tee.
|
||||
/// NOTE: this is now handled by tracing, this option will be removed soon.
|
||||
pub to_stdout: bool,
|
||||
/// Prefix messages logged to the file with the current local time as RFC 3339
|
||||
pub prefix_time: bool,
|
||||
@ -103,11 +104,12 @@ impl FileLogger {
|
||||
pub fn log<S: AsRef<str>>(&mut self, msg: S) {
|
||||
let msg = msg.as_ref();
|
||||
|
||||
if self.options.to_stdout {
|
||||
let mut stdout = std::io::stdout();
|
||||
let _ = stdout.write_all(msg.as_bytes());
|
||||
let _ = stdout.write_all(b"\n");
|
||||
}
|
||||
// TODO: remove whole to_stdout option, handled by tracing now
|
||||
//if self.options.to_stdout {
|
||||
// let mut stdout = std::io::stdout();
|
||||
// let _ = stdout.write_all(msg.as_bytes());
|
||||
// let _ = stdout.write_all(b"\n");
|
||||
//}
|
||||
|
||||
let line = if self.options.prefix_time {
|
||||
let now = proxmox_time::epoch_i64();
|
||||
@ -128,16 +130,18 @@ impl FileLogger {
|
||||
|
||||
impl std::io::Write for FileLogger {
|
||||
fn write(&mut self, buf: &[u8]) -> Result<usize, std::io::Error> {
|
||||
if self.options.to_stdout {
|
||||
let _ = std::io::stdout().write(buf);
|
||||
}
|
||||
// TODO: remove whole to_stdout option, handled by tracing now
|
||||
//if self.options.to_stdout {
|
||||
// let _ = std::io::stdout().write(buf);
|
||||
//}
|
||||
self.file.write(buf)
|
||||
}
|
||||
|
||||
fn flush(&mut self) -> Result<(), std::io::Error> {
|
||||
if self.options.to_stdout {
|
||||
let _ = std::io::stdout().flush();
|
||||
}
|
||||
// TODO: remove whole to_stdout option, handled by tracing now
|
||||
//if self.options.to_stdout {
|
||||
// let _ = std::io::stdout().flush();
|
||||
//}
|
||||
self.file.flush()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user