From 69832f727c85fa32f0ee89efc14af4f2c70b3d40 Mon Sep 17 00:00:00 2001 From: bmc-msft <41130664+bmc-msft@users.noreply.github.com> Date: Fri, 9 Oct 2020 13:52:14 -0400 Subject: [PATCH] Filter agent app-insights logs based on log::max_level (#125) --- .../src/tasks/fuzz/supervisor.rs | 1 - src/agent/onefuzz/src/telemetry.rs | 35 ++++++++++--------- src/runtime-tools/win64/onefuzz.ps1 | 1 + 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/agent/onefuzz-agent/src/tasks/fuzz/supervisor.rs b/src/agent/onefuzz-agent/src/tasks/fuzz/supervisor.rs index 0085a1419..085ab1b61 100644 --- a/src/agent/onefuzz-agent/src/tasks/fuzz/supervisor.rs +++ b/src/agent/onefuzz-agent/src/tasks/fuzz/supervisor.rs @@ -9,7 +9,6 @@ use crate::tasks::{ utils::{self, CheckNotify}, }; use anyhow::{Error, Result}; -use appinsights::telemetry::SeverityLevel; use onefuzz::{ expand::Expand, fs::{has_files, set_executable, OwnedDir}, diff --git a/src/agent/onefuzz/src/telemetry.rs b/src/agent/onefuzz/src/telemetry.rs index bd8061f80..795de1c01 100644 --- a/src/agent/onefuzz/src/telemetry.rs +++ b/src/agent/onefuzz/src/telemetry.rs @@ -341,25 +341,26 @@ macro_rules! event { #[macro_export] macro_rules! log { ($level: expr, $msg: expr) => {{ - use appinsights::telemetry::SeverityLevel; - use SeverityLevel::*; + use appinsights::telemetry::SeverityLevel::{ + Critical, Error, Information, Verbose, Warning, + }; - { - let log_level = match $level { - SeverityLevel::Verbose => log::Level::Debug, - SeverityLevel::Information => log::Level::Info, - SeverityLevel::Warning => log::Level::Warn, - SeverityLevel::Error => log::Level::Error, - SeverityLevel::Critical => log::Level::Error, - }; + let log_level = match $level { + Verbose => log::Level::Debug, + Information => log::Level::Info, + Warning => log::Level::Warn, + Error => log::Level::Error, + Critical => log::Level::Error, + }; - let log_msg = $msg.to_string(); - - log::log!(log_level, "{}", log_msg) - } - - if let Some(client) = $crate::telemetry::client($crate::telemetry::ClientType::Instance) { - client.track_trace($msg, $level); + // while log::log will filter based on log level, the telemetry + // client does *not*. + if log_level <= log::max_level() { + log::log!(log_level, "{}", $msg.to_string()); + if let Some(client) = $crate::telemetry::client($crate::telemetry::ClientType::Instance) + { + client.track_trace($msg, $level); + } } }}; } diff --git a/src/runtime-tools/win64/onefuzz.ps1 b/src/runtime-tools/win64/onefuzz.ps1 index 19e4ad11e..90a035825 100644 --- a/src/runtime-tools/win64/onefuzz.ps1 +++ b/src/runtime-tools/win64/onefuzz.ps1 @@ -5,6 +5,7 @@ $env:Path += ";C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\;C:\onefuzz\ $env:ONEFUZZ_ROOT = "C:\onefuzz" $env:ONEFUZZ_TOOLS = "C:\onefuzz\tools" $env:ASAN_SYMBOLIZER_PATH = "llvm-symbolizer" +$env:RUST_LOG = "info" $logFile = "C:\onefuzz.log" function log ($message) {