Skip to content

Commit 24b0e40

Browse files
authored
Use appropriate log level for worker console logs (#8101)
1 parent 22e0a75 commit 24b0e40

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

src/WebJobs.Script/Workers/ProcessManagement/WorkerProcess.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ internal void BuildAndLogConsoleLog(string msg, LogLevel level)
190190
};
191191
if (WorkerProcessUtilities.IsConsoleLog(msg))
192192
{
193-
_workerProcessLogger?.LogDebug(WorkerProcessUtilities.RemoveLogPrefix(msg));
193+
_workerProcessLogger?.Log(level, WorkerProcessUtilities.RemoveLogPrefix(msg));
194194
}
195195
else
196196
{

test/WebJobs.Script.Tests/Workers/WorkerConsoleLogServiceTests.cs

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public class WorkerConsoleLogServiceTests
1717
{
1818
private IScriptEventManager _eventManager;
1919
private IProcessRegistry _processRegistry;
20-
private TestLogger _testLogger = new TestLogger("test");
20+
private TestLogger _testUserLogger = new TestLogger("Host.Function.Console");
21+
private TestLogger _testSystemLogger = new TestLogger("Worker.rpcWorkerProcess");
2122
private WorkerConsoleLogService _workerConsoleLogService;
2223
private WorkerConsoleLogSource _workerConsoleLogSource;
2324
private Mock<IServiceProvider> _serviceProviderMock;
@@ -30,31 +31,36 @@ public async Task WorkerConsoleLogService_ConsoleLogs_LogLevel_Expected(bool use
3031
_workerConsoleLogSource = new WorkerConsoleLogSource();
3132
_eventManager = new ScriptEventManager();
3233
_processRegistry = new EmptyProcessRegistry();
33-
_workerConsoleLogService = new WorkerConsoleLogService(_testLogger, _workerConsoleLogSource);
34+
_workerConsoleLogService = new WorkerConsoleLogService(_testUserLogger, _workerConsoleLogSource);
3435
_serviceProviderMock = new Mock<IServiceProvider>(MockBehavior.Strict);
35-
WorkerProcess workerProcess = new TestWorkerProcess(_eventManager, _processRegistry, _testLogger, _workerConsoleLogSource, null, _serviceProviderMock.Object, useStdErrForErroLogsOnly);
36+
WorkerProcess workerProcess = new TestWorkerProcess(_eventManager, _processRegistry, _testSystemLogger, _workerConsoleLogSource, null, _serviceProviderMock.Object, useStdErrForErroLogsOnly);
3637
workerProcess.ParseErrorMessageAndLog("Test Message No keyword");
3738
workerProcess.ParseErrorMessageAndLog("Test Error Message");
3839
workerProcess.ParseErrorMessageAndLog("Test Warning Message");
39-
40-
workerProcess.BuildAndLogConsoleLog("LanguageWorkerConsoleLog[Test worker log]", LogLevel.Information);
40+
workerProcess.ParseErrorMessageAndLog("LanguageWorkerConsoleLog[Test Worker Message No keyword]");
41+
workerProcess.ParseErrorMessageAndLog("LanguageWorkerConsoleLog[Test Worker Error Message]");
42+
workerProcess.ParseErrorMessageAndLog("LanguageWorkerConsoleLog[Test Worker Warning Message]");
4143

4244
_ = _workerConsoleLogService.ProcessLogs().ContinueWith(t => { });
4345
await _workerConsoleLogService.StopAsync(System.Threading.CancellationToken.None);
44-
var allLogs = _testLogger.GetLogMessages();
45-
Assert.True(allLogs.Count == 4);
46-
VerifyLogLevel(allLogs, "Test Error Message", LogLevel.Error);
47-
VerifyLogLevel(allLogs, "Test Warning Message", LogLevel.Warning);
46+
var userLogs = _testUserLogger.GetLogMessages();
47+
var systemLogs = _testSystemLogger.GetLogMessages();
48+
Assert.True(userLogs.Count == 3);
49+
Assert.True(systemLogs.Count == 3);
50+
VerifyLogLevel(userLogs, "Test Error Message", LogLevel.Error);
51+
VerifyLogLevel(systemLogs, "[Test Worker Error Message]", LogLevel.Error);
52+
VerifyLogLevel(userLogs, "Test Warning Message", LogLevel.Warning);
53+
VerifyLogLevel(systemLogs, "[Test Worker Warning Message]", LogLevel.Warning);
4854
if (useStdErrForErroLogsOnly)
4955
{
50-
VerifyLogLevel(allLogs, "Test Message No keyword", LogLevel.Error);
56+
VerifyLogLevel(userLogs, "Test Message No keyword", LogLevel.Error);
57+
VerifyLogLevel(systemLogs, "[Test Worker Message No keyword]", LogLevel.Error);
5158
}
5259
else
5360
{
54-
VerifyLogLevel(allLogs, "Test Message No keyword", LogLevel.Information);
61+
VerifyLogLevel(userLogs, "Test Message No keyword", LogLevel.Information);
62+
VerifyLogLevel(systemLogs, "[Test Worker Message No keyword]", LogLevel.Information);
5563
}
56-
57-
VerifyLogLevel(allLogs, "[Test worker log]", LogLevel.Debug);
5864
}
5965

6066
private static void VerifyLogLevel(IList<LogMessage> allLogs, string msg, LogLevel expectedLevel)

0 commit comments

Comments
 (0)