Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions release_notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
- Update Python Worker Version to [4.4.0](https://github.com/Azure/azure-functions-python-worker/releases/tag/4.4.0)
**Release sprint:** Sprint 125
[ [bugs](https://github.com/Azure/azure-functions-host/issues?q=is%3Aissue+milestone%3A%22Functions+Sprint+125%22+label%3Abug+is%3Aclosed) | [features](https://github.com/Azure/azure-functions-host/issues?q=is%3Aissue+milestone%3A%22Functions+Sprint+125%22+label%3Afeature+is%3Aclosed) ]
- Fix the bug where debugging of dotnet isolated function apps hangs in visual studio (#8596)
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,5 @@ public static bool IsToolingConsoleJsonLogEntry(ConsoleLog consoleLog)
{
return consoleLog.Message.StartsWith(WorkerConstants.ToolingConsoleLogPrefix, StringComparison.OrdinalIgnoreCase);
}

public static string RemoveToolingConsoleJsonLogPrefix(string msg)
{
return Regex.Replace(msg, WorkerConstants.ToolingConsoleLogPrefix, string.Empty, RegexOptions.IgnoreCase);
}
}
}
4 changes: 2 additions & 2 deletions src/WebJobs.Script/Workers/WorkerConsoleLogService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ internal async Task ProcessLogs()

if (WorkerProcessUtilities.IsToolingConsoleJsonLogEntry(consoleLog))
{
_toolingConsoleJsonLoggerLazy.Value.Log(consoleLog.Level,
WorkerProcessUtilities.RemoveToolingConsoleJsonLogPrefix(consoleLog.Message));
// log with the message prefix as coretools expects it.
_toolingConsoleJsonLoggerLazy.Value.Log(consoleLog.Level, consoleLog.Message);
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public async Task WorkerConsoleLogService_ConsoleLogs_LogLevel_Expected(bool use
workerProcess.ParseErrorMessageAndLog("LanguageWorkerConsoleLog[Test Worker Message No keyword]");
workerProcess.ParseErrorMessageAndLog("LanguageWorkerConsoleLog[Test Worker Error Message]");
workerProcess.ParseErrorMessageAndLog("LanguageWorkerConsoleLog[Test Worker Warning Message]");
workerProcess.ParseErrorMessageAndLog("azfuncjsonlog:Azure Functions .NET Worker (PID: 4) initialized in debug mode.");
workerProcess.ParseErrorMessageAndLog("azfuncjsonlog:{ 'name':'dotnet-worker-startup', 'workerProcessId' : 321 }");

// Act
_ = _workerConsoleLogService.ProcessLogs().ContinueWith(t => { });
Expand All @@ -73,22 +73,23 @@ public async Task WorkerConsoleLogService_ConsoleLogs_LogLevel_Expected(bool use
{
VerifyLogLevel(userLogs, "Test Message No keyword", LogLevel.Error);
VerifyLogLevel(systemLogs, "[Test Worker Message No keyword]", LogLevel.Error);
VerifyLogLevel(toolingConsoleLogs, "Azure Functions .NET Worker (PID: 4) initialized in debug mode.", LogLevel.Error);
VerifyLogLevel(toolingConsoleLogs, "azfuncjsonlog:{ 'name':'dotnet-worker-startup', 'workerProcessId' : 321 }", LogLevel.Error);
}
else
{
VerifyLogLevel(userLogs, "Test Message No keyword", LogLevel.Information);
VerifyLogLevel(systemLogs, "[Test Worker Message No keyword]", LogLevel.Information);
VerifyLogLevel(toolingConsoleLogs, "Azure Functions .NET Worker (PID: 4) initialized in debug mode.", LogLevel.Information);
VerifyLogLevel(toolingConsoleLogs, "azfuncjsonlog:{ 'name':'dotnet-worker-startup', 'workerProcessId' : 321 }", LogLevel.Information);
}

Assert.True(toolingConsoleLogs.All(l => l.FormattedMessage.StartsWith(WorkerConstants.ToolingConsoleLogPrefix)));
}

private static void VerifyLogLevel(IList<LogMessage> allLogs, string msg, LogLevel expectedLevel)
{
var message = allLogs.FirstOrDefault(l => l.FormattedMessage.Contains(msg));
Assert.NotNull(message);
Assert.DoesNotContain(WorkerConstants.LanguageWorkerConsoleLogPrefix, message.FormattedMessage);
Assert.DoesNotContain(WorkerConstants.ToolingConsoleLogPrefix, message.FormattedMessage);
Assert.Equal(expectedLevel, message.Level);
}
}
Expand Down