Package Exports
- @datalust/winston-seq
- @datalust/winston-seq/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@datalust/winston-seq) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
winston-seq 
A Winston v3 transport that sends structured logs to the Seq log server.

Install @datalust/winston-seq
$ npm install @datalust/winston-seq winston
# Or with yarn
$ yarn add @datalust/winston-seq winstonConfigure Logging
const winston = require('winston');
const { SeqTransport } = require('@datalust/winston-seq');
// or import { SeqTransport } from '@datalust/winston-seq';
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine( /* This is required to get errors to log with stack traces. See https://github.com/winstonjs/winston/issues/1498 */
winston.format.errors({ stack: true }),
winston.format.json(),
),
defaultMeta: { /* application: 'your-app-name' */ },
transports: [
new winston.transports.Console({
format: winston.format.simple(),
}),
new SeqTransport({
serverUrl: "https://your-seq-server:5341",
apiKey: "your-api-key",
onError: (e => { console.error(e) }),
handleExceptions: true,
handleRejections: true,
})
]
});serverUrl- the URL for your Seq server's ingestionapiKey- (optional) The Seq API Key to useonError- Callback to execute when an error occurs within the transporthandleExceptions- (optional) Send an event when an uncaught exception occurshandleRejections- (optional) Send an event when an unhandled promise rejection occurs
Send Log Events
Send structured log events, with properties that can be used later for filtering and analysis:
logger.info("Hello {name}", {name: "World"});Attach context by creating child loggers:
const taskLogger = logger.child({ activity: "purchase" });
taskLogger.debug(
"User {user} purchase product {product} at ${price}",
{
user: "Millie Gilbert",
product: "Yardtime Garden Shears",
price: 29.99
});
Contributing
Install Yarn if you don't already have it. Next, add a .env file with content like:
SEQ_INGESTION_URL=http://192.168.98.99:5341
SEQ_API_URL=http://192.168.98.99
SEQ_API_KEY=fsf7sa9f9sf7s9df7Where SEQ_INGESTION_URL is the ingestion address of a test Seq server, SEQ_API_URL is the API address of the test server and SEQ_API_KEY is an API key with the Ingest and Read permissions.
Scripts
- To build:
$ yarn build- To test:
$ yarn testNB. One test will fail if the Seq server is configured to require an API key.
- Calculate test coverage:
$ yarn test:coverage- Lint source
$ yarn lint