Skip to main content

Logging

This module uses Winston for logging. You can customize the logging or even add your own transports using the APIs below.

Log levels#

To set the amount of information that is logged, you can set the logLevel constructor param to one of the following:

  • CollabClient.LogLevels.DEBUG maximum amount of logging. This will log all information including all queries that are executed.
  • CollabClient.LogLevels.INFO This will log information about server status including server started
  • CollabClient.LogLevels.WARN This will log all warnings to the console. Queries will not be logged.
  • CollabClient.LogLevels.ERROR Only error messages are logged
  • CollabClient.LogLevels.NONE Nothing is logged (only uncaught exceptions)

The default log level is INFO.

Example

import CollabClient from "@pdftron/collab-client";
const client = new CollabClient({
logLevel: CollabServer.LogLevels.WARN,
});

Filter logs by tag#

To filter logs by tag, you can set the filterLogsByTag option to one or more of the following:

  • LogTags.ENTITY - Logged any time a new entity is created
  • LogTags.MUTATION - Logged any time a database mutation is performed
  • LogTags.RESPONSE - Logged any time data is returned from the database
  • LogTags.AUTH - Logs information about user authentication
  • LogTags.CACHE - Logs information about caching
  • LogTags.CONNECTED_USERS - Logs information about users who are connected to the user
  • LogTags.SCROLL_SYNC - Logs information about scroll sync sessions
  • LogTags.ANNOTATION_SYNC - Logs information about external annotation syncing
  • LogTags.PERMISSIONS - Logs information about permissions and permission checks
  • LogTags.PERMISSION_CACHE - Logs information about the permission check cache
  • LogTags.BATCH - Logs information about batch writes
  • LogTags.REAL_TIME - Logs information about real time events that are sent
  • LogTags.UNREAD - Logs information about the unread status of annotations
  • LogTags.CLIENT - (Server only) Logs messages sent from the client to the server
  • LogTags.ANNOTATIONS - Logs information about annotation actions (add, edit, delete)

Example

import CollabClient from "@pdftron/collab-client";
const client = new CollabClient({
filterLogsByTag: CollabClient.LogTags.MUTATION,
// or set multiple by passing an array
filterLogsByTag: [
CollabClient.LogTags.MUTATION,
CollabClient.LogTags.ANNOTATIONS,
]
});

Sending logs to the server#

Logs can be sent to the server by setting the enableServerLogging option to true.

When this flag is true, logs will be sent to the server and logged using your server logging config. This enables you to debug client side issues and save the logs on your server for future reference.

import CollabClient from "@pdftron/collab-client";
const client = new CollabClient({
enableServerLogging: true,
filterLogsByTag: [
CollabClient.LogTags.MUTATION,
CollabClient.LogTags.ANNOTATIONS,
]
});