Pino transport for Openobserve
npm install @openobserve/pino-openobservebash
npm install @openobserve/pino-openobserve
`
With Yarn:
`bash
yarn add @openobserve/pino-openobserve
`
Options
The transport accepts an options object with the following properties:
| Property | Required | Default | Description |
| -------- | -------- | ------- | ----------- |
| url | Yes | - | The URL of your Openobserve server. |
| organization | Yes | - | The name of your organization. |
| streamName | Yes | - | The name of the stream to which logs should be sent. |
| auth | Yes | { username: "", password: "" } | An object with username and password properties for authenticating with the Openobserve server |
| batchSize | No | 100 | The number of logs to include in each batch. |
| timeThreshold | No | 300000 (5 mins) | The interval, in milliseconds, at which logs should be sent. |
| silentSuccess | No | false | A boolean indicating whether to suppress successful operation messages. |
| silentError | No | false | A boolean indicating whether to suppress error messages. |
Usage
You can use the transport by passing the package name as target, or by importing it directly.
$3
`javascript
// using require
const pino = require('pino');
// using import
import pino from 'pino';
const logger = pino({
level: 'info',
transport: {
target: '@openobserve/pino-openobserve',
options: {
url: 'https://your-openobserve-server.com',
organization: 'your-organization',
streamName: 'your-stream',
auth: {
username: 'your-username',
password: 'your-password',
},
},
},
});
logger.info('Hello, world!');
logger.info({ lang: 'js', code: 'Node.js' }, 'Logging with JSON');
`
$3
The way you import the pino and @openobserve/pino-openobserve packages depends on whether you're using import or require.
`javascript
// using require
const pino = require('pino');
const OpenobserveTransport = require('@openobserve/pino-openobserve').OpenobserveTransport;
// using import
import pino from 'pino';
import { OpenobserveTransport } from '@openobserve/pino-openobserve';
const logger = pino({
level: 'info',
transport: {
target: OpenobserveTransport,
options: {
url: 'https://your-openobserve-server.com',
organization: 'your-organization',
streamName: 'your-stream',
auth: {
username: 'your-username',
password: 'your-password',
},
},
},
});
logger.info('Hello, world!');
logger.info({ lang: 'js', code: 'Node.js' }, 'Logging with JSON');
`
In the above examples, the second logger.info call logs a JSON object containing the properties lang and code, along with the message 'Logging with JSON'. This is a common way to include structured data in your logs when using Pino.
License
This package is licensed under the Apache License, Version 2.0. See the LICENSE` file for more details.