TL;DR? The winston project recently shipped 3.0.0 out of RC and is actively
working towards the next feature release as it continues to triage issues.
- Be kind & actively empathetic to one another
- What makes up
winston? - What about
winston@2.x?! - Could this be implemented as a format?
- Roadmap
Looking for somewhere to help? Checkout the Roadmap & help triage open issues! Find an issue that looks like a duplicate? It probably is! Comment on it so we know it's maybe a duplicate 🙏.
As of winston@3 the project has been broken out into a few modules:
- winston-transport:
Transportstream implementation & legacyTransportwrapper. - logform: All formats exports through
winston.format LEVELandMESSAGEsymbols exposed through triple-beam.- Shared test suite for community transports
Let's dig in deeper. The example below has been annotated to demonstrate the different packages that compose the example itself:
const { createLogger, transports, format } = require('winston');
const Transport = require('winston-transport');
const logform = require('logform');
const { combine, timestamp, label, printf } = logform.format;
// winston.format is require('logform')
console.log(logform.format === format) // true
const logger = createLogger({
format: combine(
label({ label: 'right meow!' }),
timestamp(),
printf(({ level, message, label, timestamp }) => {
return `${timestamp} [${label}] ${level}: ${message}`;
})
),
transports: [new transports.Console()]
});If you are opening an issue regarding the
2.xrelease-line please know that 2.x work has ceased. Thewinstonteam will review PRs that fix issues, but as issues are opened we will close them.
You will commonly see this closing winston@2.x issues:
Development `winston@2.x` has ceased. Please consider upgrading to
`winston@3.0.0`. If you feel strongly about this bug please open a PR against
the `2.x` branch. Thank you for using `winston`!
Before opening issues for new features consider if this feature could be implemented as a custom format. If it is, you will see your issue closed with this message:
This can be accomplished with using [custom formats](https://github.com/winstonjs/winston#creating-custom-formats) in `winston@3.0.0`. Please consider upgrading.
Below is the list of items that make up the roadmap through 3.4.0. We are actively triaging the open issues, so it is likely a few more critical path items will be added to this list before the next release goes out.
- Unstarted work.
- Finished work.
- [-] Partially finished or in-progress work.
- Move
Filetransport intowinston-file. - Browser support
- Unit tests for
webpack&rollup - Replicate browser-only transpilation for
winston,winston-transport,triple-beam.
- Unit tests for
- [-] Full JSDoc coverage
- Benchmarking for
FileandStreamtransports:- Benchmarking integration in
pino. - Upgrade
pinoto latestwinston. - See: https://github.com/winstonjs/logmark
- See also: pinojs/pino#232
- Benchmarking integration in
- Move
loggedevent intowinston-transportto remove need for it in each individual Transport written or remove theloggedevent entirely.
- [-] Replace all
vows-based tests.- [-]
test/transports/*-test.js
- [-]
- Code coverage tests above 80% for
winston(currently~70%).- [-] Core scenarios covered in
abstract-winston-transport. - [-] Full integration tests for all
logformtransports
- [-] Core scenarios covered in
-
README.mdforwinston-compat. - Update all transports documented in
docs/transports.mdforwinston@3.
- [-] Streaming
-
winstonjs.orgdocumentation site.
- [-] Querying