# API

**Kind**: interface | **Module**: [Logger](https://docs.interop.io/desktop/reference/javascript/logger/index.md) | **Access**: `io.logger`

**Source**: https://docs.interop.io/desktop/reference/javascript/logger/api/index.html

## Properties

- **`name`** (`string`, required)
  Name of the logger.
- **`version`** (`string`, optional)
  Version of the Logging API.

## Methods

### canPublish

Checks if the logger can publish a log level

```ts
(level: LogLevel) => boolean
```

**Parameters**

- **`level`** (`LogLevel`, required)

**Returns**: `boolean`

### consoleLevel

Sets or gets the current threshold level for writing to the console.

```ts
(level?: LogLevel) => LogLevel | undefined
```

**Parameters**

- **`level`** (`LogLevel`, optional)
  Logger level.

**Returns**: `LogLevel | undefined`

### debug

Method for logging messages at "debug" level.

```ts
(message: string) => void
```

**Parameters**

- **`message`** (`string`, required)
  Message to log.

**Returns**: `void`

### error

Method for logging messages at "error" level.

```ts
(message: string, err?: Error) => void
```

**Parameters**

- **`message`** (`string`, required)
  Message to log.
- **`err`** (`Error`, optional)

**Returns**: `void`

### info

Method for logging messages at "info" level.

```ts
(message: string) => void
```

**Parameters**

- **`message`** (`string`, required)
  Message to log.

**Returns**: `void`

### log

Logging method.

```ts
(message: string, level?: LogLevel) => void
```

**Parameters**

- **`message`** (`string`, required)
  Message to log.
- **`level`** (`LogLevel`, optional)
  Logging level for the message.

**Returns**: `void`

### publishLevel

Sets or gets the current threshold level for publishing to a file.

```ts
(level?: LogLevel) => LogLevel | undefined
```

**Parameters**

- **`level`** (`LogLevel`, optional)
  Logger level.

**Returns**: `LogLevel | undefined`

### subLogger

Creates a new logger which is a sub-logger of the current one.

```ts
(name: string) => Logger.API
```

**Parameters**

- **`name`** (`string`, required)
  Name for the sub-logger.

**Returns**: `Logger.API`

### trace

Method for logging messages at "trace" level.

```ts
(message: string) => void
```

**Parameters**

- **`message`** (`string`, required)
  Message to log.

**Returns**: `void`

### warn

Method for logging messages at "warn" level.

```ts
(message: string) => void
```

**Parameters**

- **`message`** (`string`, required)
  Message to log.

**Returns**: `void`

## Related types

- [LogLevel](https://docs.interop.io/desktop/reference/javascript/logger/loglevel/index.md)
- [Logger](https://docs.interop.io/desktop/reference/javascript/insights/logger/index.md)
