https://github.com/alekzonder/log4js-nested
log4js with nested loggers
https://github.com/alekzonder/log4js-nested
log4js log4js-nested logger logging nodejs
Last synced: about 1 month ago
JSON representation
log4js with nested loggers
- Host: GitHub
- URL: https://github.com/alekzonder/log4js-nested
- Owner: alekzonder
- License: mit
- Created: 2016-05-18T10:17:53.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-02-02T08:15:33.000Z (over 9 years ago)
- Last Synced: 2025-03-18T06:55:05.807Z (over 1 year ago)
- Topics: log4js, log4js-nested, logger, logging, nodejs
- Language: JavaScript
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# log4js-nested
create nested log4js instances with nested categories
[](https://codeclimate.com/github/alekzonder/log4js-nested)
[](https://travis-ci.org/alekzonder/log4js-nested)
[](https://nodei.co/npm/log4js-nested/)
## install
```
npm i log4js-nested
```
## usage
```js
var log4js = require('log4js-nested');
log4js.getLogger('one').getLogger('two').getLogger('three').info('yo!');
// output
[2016-05-18 17:06:39.010] [INFO] one.two.three - yo!
```
one more example
```js
var log4js = require('log4js-nested');
var mainLogger = log4js.getLogger('main');
mainLogger.info('main');
var nextLogger = mainLogger.getLogger('next');
nextLogger.info('next');
var deeperLogger = nextLevelLogger.getLogger('deeper');
deeperLogger.info('deep');
var veryDeepLogger = deeperLogger.getLogger('very-deeper');
veryDeepLogger.info('deep');
// output
[2016-05-18 17:06:39.002] [INFO] main - main
[2016-05-18 17:06:39.009] [INFO] main.next - next
[2016-05-18 17:06:39.010] [INFO] main.next.deeper - deep
[2016-05-18 17:06:39.010] [INFO] main.next.deeper.very-deeper - deep
```
also you can wrap your own log4js instance
```js
var log4js = require('log4js');
var log4jsNested = require('log4js-nested/wrap')(log4js);
var logger = log4jsNested.getLogger('main');
```
## configure loggers
you can configure log level for every categories and nested using log4js.configure
see full example in [examples/deepLogLevel.js](examples/deepLogLevel.js)
```js
var log4js = require('../index');
log4js.configure({
appenders: [{
type: 'console'
}, ],
levels: {
'one': 'TRACE',
'one.two': 'DEBUG',
'one.two.three': 'INFO',
'one.two.three.four': 'ERROR',
}
});
var oneLogger = log4js.getLogger('one');
// ...
var twoLogger = oneLogger.getLogger('two');
// ...
var threeLogger = twoLogger.getLogger('three');
// ...
var fourLogger = threeLogger.getLogger('four');
// ..
```
#### output
```
=== one
[2016-05-18 17:31:30.939] [TRACE] one - trace
[2016-05-18 17:31:30.943] [DEBUG] one - debug
[2016-05-18 17:31:30.944] [INFO] one - info
[2016-05-18 17:31:30.944] [ERROR] one - error
=== two
[2016-05-18 17:31:30.944] [DEBUG] one.two - debug
[2016-05-18 17:31:30.944] [INFO] one.two - info
=== three
[2016-05-18 17:31:30.945] [INFO] one.two.three - info
=== four
[2016-05-18 17:31:30.945] [ERROR] one.two.three.four - error
```
see all [examples](examples)
## License
MIT