# JSDoc: Class: Logger

# Class: Logger

## core.Logger(threshold)

#### new Logger(threshold)

This class handles a variety of loggers, e.g. a browser console one (mostly for debugging), a remote one, etc.

Note: we use log4javascript for the console logger, and our own for the server logger.

##### Parameters:

Name | Type | Description
--- | --- | ---
`threshold` | * | the logging threshold, e.g. log4javascript.Level.ERROR

Source:
  - core/Logger.js, line 16

### Members

#### (protected) _getValue

Get the integer value associated with a logging level.

Source:
  - core/Logger.js, line 368

#### (protected, readonly) _ServerLevelValue :number

Server logging level values.

We use those values to determine whether a log is to be sent to the server or not.

##### Type:

- number

Source:
  - core/Logger.js, line 404

#### (protected) _throttle

Check whether or not a log messages must be throttled.

Source:
  - core/Logger.js, line 150

#### data

Log a server message at the DATA level.

Source:
  - core/Logger.js, line 96

#### exp

Log a server message at the EXP level.

Source:
  - core/Logger.js, line 82

#### flush

Flush all server logs to the server.

Note: the logs are compressed using Pako's zlib algorithm. See https://github.com/nodeca/pako for details.

Source:
  - core/Logger.js, line 226

#### log

Log a server message.

Source:
  - core/Logger.js, line 110

#### (readonly) ServerLevel :Symbol

Server logging level.

##### Type:

- Symbol

Source:
  - core/Logger.js, line 383

#### setLevel

Change the logging level.

Source:
  - core/Logger.js, line 69