aboutsummaryrefslogtreecommitdiff
path: root/deno/base/log.ts
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-06-17 15:14:48 +0800
committerYuqian Yang <crupest@crupest.life>2025-06-17 15:14:48 +0800
commitf42e43e12e7689fef47fb7af3eae625eedbb9d6c (patch)
tree081bc88e2a330d6d50f5718161918fb880292b72 /deno/base/log.ts
parente5509b819a2798077232fb014926e7abc7bf9edc (diff)
downloadcrupest-f42e43e12e7689fef47fb7af3eae625eedbb9d6c.tar.gz
crupest-f42e43e12e7689fef47fb7af3eae625eedbb9d6c.tar.bz2
crupest-f42e43e12e7689fef47fb7af3eae625eedbb9d6c.zip
mail: skip saving if cc myself, mark sent as read.
Diffstat (limited to 'deno/base/log.ts')
-rw-r--r--deno/base/log.ts60
1 files changed, 0 insertions, 60 deletions
diff --git a/deno/base/log.ts b/deno/base/log.ts
deleted file mode 100644
index 940f569..0000000
--- a/deno/base/log.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { join } from "@std/path";
-
-import { toFileNameString } from "./lib.ts";
-
-export interface ExternalLogStream extends Disposable {
- stream: WritableStream;
-}
-
-export class LogFileProvider {
- #directory: string;
-
- constructor(directory: string) {
- this.#directory = directory;
- Deno.mkdirSync(directory, { recursive: true });
- }
-
- async createExternalLogStream(
- name: string,
- options?: {
- noTime?: boolean;
- },
- ): Promise<ExternalLogStream> {
- if (name.includes("/")) {
- throw new Error(`External log stream's name (${name}) contains '/'.`);
- }
-
- const logPath = join(
- this.#directory,
- options?.noTime === true
- ? name
- : `${name}-${toFileNameString(new Date())}`,
- );
-
- const file = await Deno.open(logPath, {
- read: false,
- write: true,
- append: true,
- create: true,
- });
- return {
- stream: file.writable,
- [Symbol.dispose]: file[Symbol.dispose].bind(file),
- };
- }
-
- async createExternalLogStreamsForProgram(
- program: string,
- ): Promise<{ stdout: WritableStream; stderr: WritableStream } & Disposable> {
- const stdout = await this.createExternalLogStream(`${program}-stdout`);
- const stderr = await this.createExternalLogStream(`${program}-stderr`);
- return {
- stdout: stdout.stream,
- stderr: stderr.stream,
- [Symbol.dispose]: () => {
- stdout[Symbol.dispose]();
- stderr[Symbol.dispose]();
- },
- };
- }
-}