Logging
Logging can be enabled by passing a log option when creating a ZenStackClient instance. The log option can be a list of log levels, causing the client to log messages at those levels to the console:
const db = new ZenStackClient(..., {
  log: ['query', 'error'],
});
Or it can be a logging function that receives a log object with the following type:
// https://kysely.dev/docs/recipes/logging
interface LogEvent {
  // log level
  level: 'query' | 'error';
  // the query compiled by Kysely, including the SQL AST, raw SQL string, and parameters.
  query: CompiledQuery;
  
  // time taken to execute the query
  queryDurationMillis: number; 
  // error information, only present if `level` is `'error'`
  error: unknown;
}
const db = new ZenStackClient(..., {
  log: (event) => {
    console.log(`[${event.level}] ${event.queryDurationMillis}ms`);
  },
});
The log option is passed through to the underlying Kysely instance.