MCPcopy Create free account
hub / github.com/CodSpeedHQ/codspeed / log

Method log

src/run_environment/github_actions/logger.rs:38–82  ·  view source on GitHub ↗
(&self, record: &Record)

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 7

get_group_eventFunction · 0.85
get_announcement_eventFunction · 0.85
escape_multiline_messageFunction · 0.85
get_json_eventFunction · 0.85
argsMethod · 0.80
levelMethod · 0.45

Tested by

no test coverage detected