Migrate to namespaced_logging v2.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
|||||||
*.sw?
|
*.sw?
|
||||||
nimcache/
|
nimcache/
|
||||||
|
nimble.develop
|
||||||
|
nimble.paths
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "3.1.1"
|
version = "3.2.0"
|
||||||
author = "Jonathan Bernard"
|
author = "Jonathan Bernard"
|
||||||
description = "Lightweight Postgres ORM for Nim."
|
description = "Lightweight Postgres ORM for Nim."
|
||||||
license = "GPL-3.0"
|
license = "GPL-3.0"
|
||||||
@ -11,4 +11,4 @@ srcDir = "src"
|
|||||||
# Dependencies
|
# Dependencies
|
||||||
|
|
||||||
requires @["nim >= 1.4.0", "uuids"]
|
requires @["nim >= 1.4.0", "uuids"]
|
||||||
requires "namespaced_logging >= 1.0.0"
|
requires "namespaced_logging >= 2.0.2"
|
||||||
|
@ -302,25 +302,30 @@ type
|
|||||||
records*: seq[T]
|
records*: seq[T]
|
||||||
totalRecords*: int
|
totalRecords*: int
|
||||||
|
|
||||||
DbUpdateError* = object of CatchableError ##\
|
DbUpdateError* = object of CatchableError
|
||||||
## Error types raised when a DB modification fails.
|
## Error types raised when a DB modification fails.
|
||||||
|
|
||||||
NotFoundError* = object of CatchableError ##\
|
NotFoundError* = object of CatchableError
|
||||||
## Error type raised when no record matches a given ID
|
## Error type raised when no record matches a given ID
|
||||||
|
|
||||||
var logService {.threadvar.}: Option[LogService]
|
var logService {.threadvar.}: Option[ThreadLocalLogService]
|
||||||
var logger {.threadvar.}: Option[Logger]
|
var logger {.threadvar.}: Option[Logger]
|
||||||
|
|
||||||
|
proc makeQueryLogEntry(
|
||||||
|
m: string,
|
||||||
|
sql: string,
|
||||||
|
args: openArray[(string, string)] = []): JsonNode =
|
||||||
|
result = %*{ "method": m, "sql": sql }
|
||||||
|
for (k, v) in args: result[k] = %v
|
||||||
|
|
||||||
proc logQuery*(methodName: string, sqlStmt: string, args: openArray[(string, string)] = []) =
|
proc logQuery*(methodName: string, sqlStmt: string, args: openArray[(string, string)] = []) =
|
||||||
# namespaced_logging would do this check for us, but we don't want to even
|
# namespaced_logging would do this check for us, but we don't want to even
|
||||||
# build the log object if we're not actually logging
|
# build the log object if we're not actually logging
|
||||||
if logService.isNone: return
|
if logService.isNone: return
|
||||||
if logger.isNone: logger = logService.getLogger("fiber_orm/query")
|
if logger.isNone: logger = logService.getLogger("fiber_orm/query")
|
||||||
var log = %*{ "method": methodName, "sql": sqlStmt }
|
logger.debug(makeQueryLogEntry(methodName, sqlStmt, args))
|
||||||
for (k, v) in args: log[k] = %v
|
|
||||||
logger.debug(log)
|
|
||||||
|
|
||||||
proc enableDbLogging*(svc: LogService) =
|
proc enableDbLogging*(svc: ThreadLocalLogService) =
|
||||||
logService = some(svc)
|
logService = some(svc)
|
||||||
|
|
||||||
proc newMutateClauses(): MutateClauses =
|
proc newMutateClauses(): MutateClauses =
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## Simple database connection pooling implementation compatible with Fiber ORM.
|
## Simple database connection pooling implementation compatible with Fiber ORM.
|
||||||
|
|
||||||
import std/[sequtils, strutils, sugar]
|
import std/[sequtils, sugar]
|
||||||
import db_connector/db_common
|
import db_connector/db_common
|
||||||
|
|
||||||
from db_connector/db_sqlite import getRow, close
|
from db_connector/db_sqlite import getRow, close
|
||||||
|
Reference in New Issue
Block a user