Skip to content

Commit e720f2a

Browse files
committed
[log] Fix setLogLevel() in workers
1 parent 27eb6e2 commit e720f2a

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

src/message.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { AppConfig, ChatOptions, GenerationConfig } from "./config";
2-
import { InitProgressReport } from "./types";
2+
import { InitProgressReport, LogLevel } from "./types";
33
import {
44
ChatCompletionRequestStreaming,
55
ChatCompletionRequestNonStreaming,
@@ -27,7 +27,8 @@ type RequestKind =
2727
| "chatCompletionStreamNextChunk"
2828
| "customRequest"
2929
| "keepAlive"
30-
| "heartbeat";
30+
| "heartbeat"
31+
| "setLogLevel";
3132

3233
// eslint-disable-next-line @typescript-eslint/no-unused-vars
3334
type ResponseKind =
@@ -78,6 +79,7 @@ export type MessageContent =
7879
| ChatCompletionStreamInitParams
7980
| CustomRequestParams
8081
| InitProgressReport
82+
| LogLevel
8183
| string
8284
| null
8385
| number

src/service_worker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as tvmjs from "tvmjs";
22
import log from "loglevel";
33
import { AppConfig, ChatOptions, MLCEngineConfig } from "./config";
44
import { ReloadParams, WorkerRequest, WorkerResponse } from "./message";
5-
import { MLCEngineInterface, InitProgressReport } from "./types";
5+
import { MLCEngineInterface, InitProgressReport, LogLevel } from "./types";
66
import {
77
MLCEngineWorkerHandler,
88
WebWorkerMLCEngine,

src/web_worker.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,13 @@ export class MLCEngineWorkerHandler {
275275
});
276276
return;
277277
}
278+
case "setLogLevel": {
279+
const logLevel = msg.content as LogLevel;
280+
this.engine.setLogLevel(logLevel);
281+
log.setLevel(logLevel);
282+
onComplete?.(null);
283+
return;
284+
}
278285
case "customRequest": {
279286
onComplete?.(null);
280287
return;
@@ -575,6 +582,16 @@ export class WebWorkerMLCEngine implements MLCEngineInterface {
575582
return await this.getPromise<ChatCompletion>(msg);
576583
}
577584

585+
async setLogLevel(logLevel: LogLevel) {
586+
log.setLevel(logLevel);
587+
const msg: WorkerRequest = {
588+
kind: "setLogLevel",
589+
uuid: crypto.randomUUID(),
590+
content: logLevel,
591+
};
592+
return await this.getPromise<ChatCompletion>(msg);
593+
}
594+
578595
onmessage(event: any) {
579596
let msg: WorkerResponse;
580597
if (event instanceof MessageEvent) {
@@ -626,8 +643,4 @@ export class WebWorkerMLCEngine implements MLCEngineInterface {
626643
}
627644
}
628645
}
629-
630-
setLogLevel(logLevel: LogLevel) {
631-
log.setLevel(logLevel);
632-
}
633646
}

0 commit comments

Comments
 (0)