(&self, record: &Record)
| 36 | } |
| 37 | |
| 38 | fn log(&self, record: &Record) { |
| 39 | if !should_provider_logger_handle_record(record) { |
| 40 | return; |
| 41 | } |
| 42 | |
| 43 | let level = record.level(); |
| 44 | let message = record.args(); |
| 45 | |
| 46 | if let Some(group_event) = get_group_event(record) { |
| 47 | match group_event { |
| 48 | GroupEvent::Start(name) | GroupEvent::StartOpened(name) => { |
| 49 | println!("::group::{name}"); |
| 50 | } |
| 51 | GroupEvent::End => { |
| 52 | println!("::endgroup::"); |
| 53 | } |
| 54 | } |
| 55 | return; |
| 56 | } |
| 57 | |
| 58 | if let Some(announcement) = get_announcement_event(record) { |
| 59 | let escaped_announcement = escape_multiline_message(&announcement); |
| 60 | // TODO: make the announcement title configurable |
| 61 | println!("::notice title=New CodSpeed Feature::{escaped_announcement}"); |
| 62 | return; |
| 63 | } |
| 64 | |
| 65 | if get_json_event(record).is_some() { |
| 66 | return; |
| 67 | } |
| 68 | |
| 69 | if level > self.log_level { |
| 70 | return; |
| 71 | } |
| 72 | |
| 73 | let prefix = match level { |
| 74 | Level::Error => "::error::", |
| 75 | Level::Warn => "::warning::", |
| 76 | Level::Info => "", |
| 77 | Level::Debug => "::debug::", |
| 78 | Level::Trace => "::debug::[TRACE]", |
| 79 | }; |
| 80 | let message_string = escape_multiline_message(&message.to_string()); |
| 81 | println!("{prefix}{message_string}"); |
| 82 | } |
| 83 | |
| 84 | fn flush(&self) { |
| 85 | std::io::stdout().flush().unwrap(); |
nothing calls this directly
no test coverage detected