2023-06-06 14:25:31 +00:00
|
|
|
import pino from "pino";
|
2023-06-22 06:22:35 +00:00
|
|
|
import { isBrowser } from "./env";
|
2023-06-15 15:53:21 +00:00
|
|
|
|
2023-06-06 14:25:31 +00:00
|
|
|
/**
|
|
|
|
|
* Stream not available in browser, will use default console output.
|
|
|
|
|
*/
|
2023-06-16 08:58:50 +00:00
|
|
|
const stream = isBrowser
|
2023-06-06 14:25:31 +00:00
|
|
|
? null
|
|
|
|
|
: /**
|
|
|
|
|
* Default rotating file locate at `~/.tabby/agent-logs/`.
|
|
|
|
|
*/
|
2023-06-15 15:53:21 +00:00
|
|
|
require("rotating-file-stream").createStream("tabby-agent.log", {
|
|
|
|
|
path: require("path").join(require("os").homedir(), ".tabby", "agent-logs"),
|
2023-06-06 14:25:31 +00:00
|
|
|
size: "10M",
|
|
|
|
|
interval: "1d",
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const rootLogger = !!stream ? pino(stream) : pino();
|
|
|
|
|
|
|
|
|
|
export const allLoggers = [rootLogger];
|
|
|
|
|
rootLogger.onChild = (child) => {
|
|
|
|
|
allLoggers.push(child);
|
|
|
|
|
};
|