added timestamps to app console logs

This commit is contained in:
dswbx
2025-02-22 13:18:23 +01:00
parent 82fba39684
commit 147d6b7ff7
3 changed files with 44 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
import { describe, expect, test } from "bun:test";
import { Perf, isBlob, ucFirst } from "../../src/core/utils";
import { Perf, datetimeStringUTC, isBlob, ucFirst } from "../../src/core/utils";
import * as utils from "../../src/core/utils";
async function wait(ms: number) {
@@ -245,4 +245,14 @@ describe("Core Utils", async () => {
}
});
});
describe("dates", () => {
test.only("formats local time", () => {
expect(utils.datetimeStringUTC("2025-02-21T16:48:25.841Z")).toBe("2025-02-21 16:48:25");
console.log(utils.datetimeStringUTC(new Date()));
console.log(utils.datetimeStringUTC());
console.log(new Date());
console.log("timezone", Intl.DateTimeFormat().resolvedOptions().timeZone);
});
});
});

View File

@@ -11,4 +11,21 @@ declare module "dayjs" {
dayjs.extend(weekOfYear);
export function datetimeStringLocal(dateOrString?: string | Date | undefined): string {
return dayjs(dateOrString).format("YYYY-MM-DD HH:mm:ss");
}
export function datetimeStringUTC(dateOrString?: string | Date | undefined): string {
const date = dateOrString ? new Date(dateOrString) : new Date();
return date.toISOString().replace("T", " ").split(".")[0]!;
}
export function getTimezoneOffset(): number {
return new Date().getTimezoneOffset();
}
export function getTimezone(): string {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
}
export { dayjs };

View File

@@ -2,7 +2,15 @@
import type { App } from "App";
import { tbValidator as tb } from "core";
import { StringEnum, Type, TypeInvalidError } from "core/utils";
import {
StringEnum,
Type,
TypeInvalidError,
datetimeStringLocal,
datetimeStringUTC,
getTimezone,
getTimezoneOffset
} from "core/utils";
import { getRuntimeKey } from "core/utils";
import type { Context, Hono } from "hono";
import { Controller } from "modules/Controller";
@@ -273,7 +281,13 @@ export class SystemController extends Controller {
hono.get("/info", (c) =>
c.json({
version: c.get("app")?.version(),
runtime: getRuntimeKey()
runtime: getRuntimeKey(),
timezone: {
name: getTimezone(),
offset: getTimezoneOffset(),
local: datetimeStringLocal(),
utc: datetimeStringUTC()
}
})
);