diff options
Diffstat (limited to 'server/helpers')
-rw-r--r-- | server/helpers/logger.ts | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/server/helpers/logger.ts b/server/helpers/logger.ts index 29e06860d..20c3c3edb 100644 --- a/server/helpers/logger.ts +++ b/server/helpers/logger.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | // Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/ | 1 | // Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/ |
2 | import { mkdirpSync } from 'fs-extra' | 2 | import { mkdirpSync, stat } from 'fs-extra' |
3 | import { omit } from 'lodash' | 3 | import { omit } from 'lodash' |
4 | import * as path from 'path' | 4 | import * as path from 'path' |
5 | import { format as sqlFormat } from 'sql-formatter' | 5 | import { format as sqlFormat } from 'sql-formatter' |
@@ -158,6 +158,26 @@ function loggerTagsFactory (...defaultTags: string[]): LoggerTagsFn { | |||
158 | } | 158 | } |
159 | } | 159 | } |
160 | 160 | ||
161 | async function mtimeSortFilesDesc (files: string[], basePath: string) { | ||
162 | const promises = [] | ||
163 | const out: { file: string, mtime: number }[] = [] | ||
164 | |||
165 | for (const file of files) { | ||
166 | const p = stat(basePath + '/' + file) | ||
167 | .then(stats => { | ||
168 | if (stats.isFile()) out.push({ file, mtime: stats.mtime.getTime() }) | ||
169 | }) | ||
170 | |||
171 | promises.push(p) | ||
172 | } | ||
173 | |||
174 | await Promise.all(promises) | ||
175 | |||
176 | out.sort((a, b) => b.mtime - a.mtime) | ||
177 | |||
178 | return out | ||
179 | } | ||
180 | |||
161 | // --------------------------------------------------------------------------- | 181 | // --------------------------------------------------------------------------- |
162 | 182 | ||
163 | export { | 183 | export { |
@@ -168,6 +188,7 @@ export { | |||
168 | labelFormatter, | 188 | labelFormatter, |
169 | consoleLoggerFormat, | 189 | consoleLoggerFormat, |
170 | jsonLoggerFormat, | 190 | jsonLoggerFormat, |
191 | mtimeSortFilesDesc, | ||
171 | logger, | 192 | logger, |
172 | loggerTagsFactory, | 193 | loggerTagsFactory, |
173 | bunyanLogger | 194 | bunyanLogger |