(logFilename: string)
| 15 | |
| 16 | |
| 17 | export function buildDefaultLog4jsConfig(logFilename: string): Log4jsConfig { |
| 18 | const config: Log4jsConfig = { |
| 19 | appenders: {}, |
| 20 | categories: { |
| 21 | default: { appenders: ['smartthings'], level: 'warn' }, |
| 22 | }, |
| 23 | } |
| 24 | |
| 25 | const fileAppender: FileAppender = { |
| 26 | type: 'file', |
| 27 | filename: logFilename, |
| 28 | maxLogSize: defaultLogFileSize, |
| 29 | backups: 1, |
| 30 | keepFileExt: true, |
| 31 | } |
| 32 | |
| 33 | config.appenders.smartthings = fileAppender |
| 34 | |
| 35 | if (process.env.SMARTTHINGS_DEBUG) { |
| 36 | const stderrAppender: StandardErrorAppender = { type: 'stderr' } |
| 37 | |
| 38 | config.appenders.debug = stderrAppender |
| 39 | config.categories.default.appenders.push('debug') |
| 40 | config.categories.default.level = 'debug' |
| 41 | } |
| 42 | |
| 43 | return config |
| 44 | } |
| 45 | |
| 46 | function isLog4jsConfig(config: unknown): config is Log4jsConfig { |
| 47 | return !!config && typeof config === 'object' && |
no outgoing calls
no test coverage detected