feat: 运行时日志系统,Pino + pino-pretty + pino-roll,console/file 双输出,敏感信息 redaction
This commit is contained in:
@@ -7,6 +7,7 @@ import type { ProbeStore } from "../../src/server/checker/store";
|
||||
import type { ResolvedTargetBase } from "../../src/server/checker/types";
|
||||
|
||||
import { bootstrap, type BootstrapDependencies } from "../../src/server/bootstrap";
|
||||
import { createNoopLogger } from "../../src/server/logger";
|
||||
|
||||
type ShutdownSignal = "SIGINT" | "SIGTERM";
|
||||
|
||||
@@ -27,6 +28,15 @@ function createHarness(overrides: BootstrapDependencies = {}) {
|
||||
configDir: "/tmp",
|
||||
dataDir: "/tmp/dial-data",
|
||||
host: "127.0.0.1",
|
||||
logging: {
|
||||
consoleLevel: "info",
|
||||
fileLevel: "info",
|
||||
filePath: "/tmp/dial-data/logs/dial.log",
|
||||
rotationFrequency: "daily",
|
||||
rotationMaxFiles: 14,
|
||||
rotationSizeBytes: 52428800,
|
||||
rotationSizeRaw: "50MB",
|
||||
},
|
||||
maxConcurrentChecks: 3,
|
||||
port: 3000,
|
||||
retentionMs: 1000,
|
||||
@@ -49,12 +59,19 @@ function createHarness(overrides: BootstrapDependencies = {}) {
|
||||
},
|
||||
} as unknown as ProbeEngine;
|
||||
|
||||
const noopLogger = createNoopLogger();
|
||||
|
||||
const dependencies: BootstrapDependencies = {
|
||||
createEngine(actualStore, targets, maxConcurrentChecks, retentionMs) {
|
||||
createEngine(actualStore, targets, maxConcurrentChecks, retentionMs, logger) {
|
||||
expect(actualStore).toBe(store);
|
||||
expect(logger).toBe(noopLogger);
|
||||
calls.push(`createEngine:${targets.length}:${maxConcurrentChecks}:${retentionMs}`);
|
||||
return engine;
|
||||
},
|
||||
createLogger() {
|
||||
calls.push("createLogger");
|
||||
return Promise.resolve(noopLogger);
|
||||
},
|
||||
createStore(dbPath) {
|
||||
calls.push(`createStore:${dbPath}`);
|
||||
return store;
|
||||
@@ -83,7 +100,7 @@ function createHarness(overrides: BootstrapDependencies = {}) {
|
||||
...overrides,
|
||||
};
|
||||
|
||||
return { calls, dependencies, shutdownHandlers };
|
||||
return { calls, dependencies, noopLogger, shutdownHandlers };
|
||||
}
|
||||
|
||||
describe("bootstrap", () => {
|
||||
@@ -94,6 +111,7 @@ describe("bootstrap", () => {
|
||||
|
||||
expect(calls).toEqual([
|
||||
"loadConfig:/tmp/probes.yaml",
|
||||
"createLogger",
|
||||
`createStore:${join("/tmp/dial-data", "probe.db")}`,
|
||||
"syncTargets:1",
|
||||
"createEngine:1:3:1000",
|
||||
|
||||
Reference in New Issue
Block a user