ralph_workflow/logger/
logger_wrapper.rs1use crate::logger::Logger;
2
3pub struct LoggerIoWrapper {
4 logger: Logger,
5}
6
7impl LoggerIoWrapper {
8 pub fn new(logger: Logger) -> Self {
9 Self { logger }
10 }
11
12 pub fn logger(&self) -> &Logger {
13 &self.logger
14 }
15
16 pub fn into_inner(self) -> Logger {
17 self.logger
18 }
19}
20
21impl std::io::Write for LoggerIoWrapper {
22 fn write(&mut self, buf: &[u8]) -> std::io::Result<usize> {
23 crate::logger::runtime::stdout_write(buf)
24 }
25
26 fn flush(&mut self) -> std::io::Result<()> {
27 crate::logger::runtime::stdout_flush()
28 }
29}
30
31impl crate::json_parser::printer::Printable for LoggerIoWrapper {
32 fn is_terminal(&self) -> bool {
33 crate::logger::runtime::stdout_is_terminal()
34 }
35}