This package provides a transport constructor to connect to the LogTowa backend.
LogTowa is a simple self hosted service which helps you keeping track of your logs in a simple and clear web UI.
yarn add logtowa-winston-transport
npm install logtowa-winston-transport
The constructor of the transports needs to know how to connect to the backend. This information includes the backend URL, your API token and the project key.
import { LogTowaTransport } from 'logtowa-winston-transport';
import winston from 'winston'
// This information can be found in the web UI
const HOST = 'https://your-api-endpoint';
const API_TOKEN = 'your-api-token';
const APP_KEY = 'app-key';
// create the transport
const logtowaTransport = new LogTowaTransport({
host: HOST,
token: API_TOKEN,
appKey: APP_KEY,
});
// create the logger
const logger = winston.createLogger({
transports: [ logtowaTransport ],
});
There are several ways how you can log a message. You can add metadata which provides more information about the log. You can also add a scope (e.g. "db" for all database related logs, "auth" for all authentication related logs). The scope allows you to easily filter the logs in the web UI.
logger.info('Hello world.');
logger.log('info', 'Hello world.');
logger.info('User signed in.', { name: 'Tobias', age: 24 });
logger.log('info', 'User signed in.', { name: 'Tobias', age: 24 });
logger.info('Initialization successful.', { scope: 'db' });
logger.info('User signed in.', { scope: 'auth', name: 'Tobias', age: 24 });