mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
20 lines
595 B
TypeScript
20 lines
595 B
TypeScript
import { Stickynotes } from '@soapbox/stickynotes';
|
|
import { Logger } from 'kysely';
|
|
import { dbQueriesCounter, dbQueryDurationHistogram } from '@/metrics.ts';
|
|
|
|
/** Log the SQL for queries. */
|
|
export const KyselyLogger: Logger = (event) => {
|
|
const console = new Stickynotes('ditto:sql');
|
|
|
|
const { query, queryDurationMillis } = event;
|
|
const { sql, parameters } = query;
|
|
|
|
dbQueriesCounter.inc();
|
|
dbQueryDurationHistogram.observe(queryDurationMillis);
|
|
|
|
console.debug(
|
|
sql,
|
|
JSON.stringify(parameters),
|
|
`\x1b[90m(${(queryDurationMillis / 1000).toFixed(2)}s)\x1b[0m`,
|
|
);
|
|
};
|