https://github.com/stefanwalther/winster
Opinionated & ready to use logging module for node.js based on Winston.
https://github.com/stefanwalther/winster
logger logging logging-library winston
Last synced: about 1 year ago
JSON representation
Opinionated & ready to use logging module for node.js based on Winston.
- Host: GitHub
- URL: https://github.com/stefanwalther/winster
- Owner: stefanwalther
- License: mit
- Created: 2016-11-29T17:07:52.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T11:51:44.000Z (over 1 year ago)
- Last Synced: 2025-04-03T17:54:33.292Z (about 1 year ago)
- Topics: logger, logging, logging-library, winston
- Language: JavaScript
- Homepage:
- Size: 205 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# winster
> Optionated logging library based on Winston.
[](https://www.npmjs.com/package/winster)
[](https://github.com/stefanwalther/winster)
[](https://circleci.com/gh/stefanwalther/winster/tree/master)
[](https://codecov.io/gh/stefanwalther/winster)
[](https://github.com/sindresorhus/eslint-config-xo-space)
## Motivation
Winston is a powerful logging framework but still needs some setup for every project.
_Winster_ makes it easier to use logging with zero configuration in typical node.js projects.
## Install
```sh
$ npm install winster --save
```
Note: _winster_ requires node.js 6.0 and higher.
## Usage
**Basic usage, zero configuration:**
```js
import winster as logger from 'winster';
const logger = require('winster').instance();
logger.trace('Some trace information ...');
logger.info('Some, whatever info ...');
```
### Log levels
_Winster_ uses slightly different logging levels compared to winston:
```js
logger.fatal('...');
logger.error('...');
logger.debug('...');
logger.warn('...');
logger.data('...');
logger.info('...');
logger.verbose('...');
logger.trace('...');
```
### Transporters
By default the pre-configured transports in `./src/default.transports.js` will be used.
You can configure your custom transport configuration, by:
**Prio 1**: Adding a section `winster` to your `package.json`, pointing to your configuration file:
```js
"winster": {
"configFile": "./config/winster.js"
}
```
**Prio 2**: Placing a file called `.winster.json` or `.winster.js` to the root of your project.
Transporters can be defined by environment (`process.env.NODE_ENV`):
```js
const Winston = require('winston');
module.exports = {
development: [
{
transporter: Winston.transports.Console,
options: {
name: 'Console',
level: 'trace',
colorize: true,
json: false,
prettyPrint(object) {
return JSON.stringify(object, null, 2);
},
handleExceptions: true
}
}
],
production: [
{
transporter: Winston.transports.File,
options: {
name: 'File',
filename: 'foo.log'
}
}
],
test: [
// your transports for test
]
};
```
If no matching environment-section can be found in your configuration file, no transports will be added.
## Author
**Stefan Walther**
* [github/stefanwalther](https://github.com/stefanwalther)
* [twitter/waltherstefan](http://twitter.com/waltherstefan)
## License
MIT
***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on August 17, 2018._