Skip to content

file appender fails with EEXIST #1189

@ddombrowsky

Description

@ddombrowsky

Why is this trying to create a directory that already exists?

The code is simple:

log4js.configure({
            appenders: {
                logs: {
                    type: 'file',
                    filename: '/tmp/ucp-index.log',
                },
            },
            categories: {
                index: { appenders: ['logs'], level: 'debug' },
                default: { appenders: ['logs'], level: 'debug' },
            },
        });
        logger = log4js.getLogger('index');

Throws this error every time:

Error: EEXIST: file already exists, mkdir '/tmp'
    at Object.fs.mkdirSync (fs.js:872:3)
    at Object.module.exports.makeDirSync (sys/node_modules/streamroller/node_modules/fs-extra/lib/mkdirs/make-dir.js:23:13)
    at RollingFileStream._renewWriteStream (sys/node_modules/streamroller/lib/RollingFileWriteStream.js:241:8)
    at new RollingFileWriteStream (sys/node_modules/streamroller/lib/RollingFileWriteStream.js:76:10)
    at new RollingFileStream (sys/node_modules/streamroller/lib/RollingFileStream.js:18:5)
    at openTheStream (sys/node_modules/log4js/lib/appenders/file.js:17:18)
    at fileAppender (sys/node_modules/log4js/lib/appenders/file.js:59:16)
    at Object.configure (sys/node_modules/log4js/lib/appenders/file.js:117:10)
    at clustering.onlyOnMaster (sys/node_modules/log4js/lib/appenders/index.js:89:27)
    at Object.onlyOnMaster (sys/node_modules/log4js/lib/clustering.js:85:50)

This didn't happen yesterday, then I ran npm i and now streamroller is updated and things are breaking.

This is log4js 6.4.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions