Skip to content

must have a property "appenders" of type object. #500

Closed
@kalsolio

Description

@kalsolio

log4js.configure({ appenders: [ { type: 'console' }, { type: 'dateFile', filename: 'logs/task',"pattern":"-dd.log", alwaysIncludePattern:true,category: 'task' }, { type: 'dateFile', filename: 'logs/result',"pattern":"-dd.log", alwaysIncludePattern:true,category: 'result' }, { type: 'dateFile', filename: 'logs/error', "pattern":"-dd.log",alwaysIncludePattern:true,category: 'error' }, { type: 'dateFile', filename: 'logs/default', "pattern":"-dd.log",alwaysIncludePattern:true,category: 'default' }, { type: 'dateFile', filename: 'logs/rate', "pattern":"-dd.log",alwaysIncludePattern:true,category: 'rate' } ] });

then.
` throw new Error(
^

Error: Problem with log4js configuration: ({ appenders:
[ { type: 'console' },
{ type: 'dateFile',
filename: 'logs/task',
pattern: '-dd.log',
alwaysIncludePattern: true,
category: 'task' },
{ type: 'dateFile',
filename: 'logs/result',
pattern: '-dd.log',
alwaysIncludePattern: true,
category: 'result' },
{ type: 'dateFile',
filename: 'logs/error',
pattern: '-dd.log',
alwaysIncludePattern: true,
category: 'error' },
{ type: 'dateFile',
filename: 'logs/default',
pattern: '-dd.log',
alwaysIncludePattern: true,
category: 'default' },
{ type: 'dateFile',
filename: 'logs/rate',
pattern: '-dd.log',
alwaysIncludePattern: true,
category: 'rate' } ] }) - must have a property "appenders" of type object.`

Activity

nomiddlename

nomiddlename commented on Jul 10, 2017

@nomiddlename
Collaborator

Configuration format changed in version 2.x (take a look at the docs)

nomiddlename

nomiddlename commented on Jul 10, 2017

@nomiddlename
Collaborator

The 2.x equivalent of the above would be something like:

log4js.configure({ 
  appenders: {
    out: { type: 'console' }, 
    task: { type: 'dateFile', filename: 'logs/task',"pattern":"-dd.log", alwaysIncludePattern:true }, 
    result: { type: 'dateFile', filename: 'logs/result',"pattern":"-dd.log", alwaysIncludePattern:true}, 
    error: { type: 'dateFile', filename: 'logs/error', "pattern":"-dd.log",alwaysIncludePattern:true}, 
    default: { type: 'dateFile', filename: 'logs/default', "pattern":"-dd.log",alwaysIncludePattern:true}, 
    rate: { type: 'dateFile', filename: 'logs/rate', "pattern":"-dd.log",alwaysIncludePattern:true} 
  },
  categories: {
    default: { appenders: ['out','default'], level: 'info' },
    task: { appenders: ['task'], level: 'info'},
    result: { appenders: ['result'], level: 'info' },
    error: { appenders: ['error'], level: 'error' },
    rate: { appenders: ['rate'], level: 'info' }
  }
);
matz1237

matz1237 commented on Jul 11, 2017

@matz1237

I have this :-
log4js.configure({
appenders: [
{ type: 'console' },
{ type: 'file', filename: 'logs/site.log' }
]
});
var logger = log4js.getLogger();

So i changed to this :-

log4js.configure({
appenders: {
out:{ type: 'console' },
app:{ type: 'file', filename: 'logs/site.log' }
},
categories: {
default: { appenders: [ 'out', 'app' ], level: 'debug' }
}
});
var logger = log4js.getLogger();

Is this right ?

nomiddlename

nomiddlename commented on Jul 11, 2017

@nomiddlename
Collaborator

That looks correct to me, yes.

CherryCHan

CherryCHan commented on Jul 11, 2017

@CherryCHan

I want to use 'replaceConsole'. How to use it in the newest version?

nomiddlename

nomiddlename commented on Jul 11, 2017

@nomiddlename
Collaborator

I removed replaceConsole - it caused a few weird errors, and I wasn't entirely comfortable with messing around with a core part of node. If you still want to do this, then code like this should do the trick:

log4js.configure(...); // set up your categories and appenders
const logger = log4js.getLogger('console');
console.log = logger.info.bind(logger); // do the same for others - console.debug, etc.
nomiddlename

nomiddlename commented on Jul 13, 2017

@nomiddlename
Collaborator

Closing this - I think all problems have been addressed. Please open a new issue if you find something else wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @nomiddlename@CherryCHan@kalsolio@matz1237

        Issue actions

          must have a property "appenders" of type object. · Issue #500 · log4js-node/log4js-node