diff options
author | Dmitry Polienko <dmitry@eldis.ru> | 2016-11-15 12:13:05 +0700 |
---|---|---|
committer | Dmitry Polienko <dmitry@eldis.ru> | 2016-11-15 12:13:05 +0700 |
commit | 2c46fdd0abc60879a2e66288a13a9e6eb08f0ad6 (patch) | |
tree | c9d097a5cce1a28eab7ae350b4de0e392cbb7dbc /lib | |
parent | 52f20abf22b589bafdf93da024753f71b0e2495b (diff) | |
download | Nim-2c46fdd0abc60879a2e66288a13a9e6eb08f0ad6.tar.gz |
Add newFileLogger overload accepting file descriptor
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/logging.nim | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/pure/logging.nim b/lib/pure/logging.nim index b23b1e5bb..5544a4b3f 100644 --- a/lib/pure/logging.nim +++ b/lib/pure/logging.nim @@ -172,18 +172,26 @@ when not defined(js): var (path, name, _) = splitFile(getAppFilename()) result = changeFileExt(path / name, "log") + proc newFileLogger*(file: File, + levelThreshold = lvlAll, + fmtStr = defaultFmtStr): FileLogger = + ## Creates a new file logger. This logger logs to ``file``. + new(result) + result.file = file + result.levelThreshold = levelThreshold + result.fmtStr = fmtStr + proc newFileLogger*(filename = defaultFilename(), mode: FileMode = fmAppend, levelThreshold = lvlAll, fmtStr = defaultFmtStr, bufSize: int = -1): FileLogger = - ## Creates a new file logger. This logger logs to a file. + ## Creates a new file logger. This logger logs to a file, specified + ## by ``fileName``. ## Use ``bufSize`` as size of the output buffer when writing the file ## (-1: use system defaults, 0: unbuffered, >0: fixed buffer size). - new(result) - result.levelThreshold = levelThreshold - result.file = open(filename, mode, bufSize = bufSize) - result.fmtStr = fmtStr + let file = open(filename, mode, bufSize = bufSize) + newFileLogger(file, levelThreshold, fmtStr) # ------ |