logger.js 842 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { entityKind } from "./entity.js";
  2. class ConsoleLogWriter {
  3. static [entityKind] = "ConsoleLogWriter";
  4. write(message) {
  5. console.log(message);
  6. }
  7. }
  8. class DefaultLogger {
  9. static [entityKind] = "DefaultLogger";
  10. writer;
  11. constructor(config) {
  12. this.writer = config?.writer ?? new ConsoleLogWriter();
  13. }
  14. logQuery(query, params) {
  15. const stringifiedParams = params.map((p) => {
  16. try {
  17. return JSON.stringify(p);
  18. } catch {
  19. return String(p);
  20. }
  21. });
  22. const paramsStr = stringifiedParams.length ? ` -- params: [${stringifiedParams.join(", ")}]` : "";
  23. this.writer.write(`Query: ${query}${paramsStr}`);
  24. }
  25. }
  26. class NoopLogger {
  27. static [entityKind] = "NoopLogger";
  28. logQuery() {
  29. }
  30. }
  31. export {
  32. ConsoleLogWriter,
  33. DefaultLogger,
  34. NoopLogger
  35. };
  36. //# sourceMappingURL=logger.js.map