> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Logger

> SDK logger that filters messages based on level and silent mode.

Package: [`com.coinbase.cdp.core`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/index)

```java theme={null}
public final class Logger extends Object
```

SDK logger that filters messages based on level and silent mode.

Silent by default — no log output unless explicitly configured. Create via [`LogConfig`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/LogConfig "class in com.coinbase.cdp.core") or directly:

```

 Logger logger = new Logger(LogLevel.DEBUG, new ConsoleLogger(), false);
 logger.debug("request sent");
 
```

## Constructor Details

### `Logger`

```java theme={null}
public Logger(LogLevel level, ILogger logger, boolean silent)
```

**Parameters:**

`level` - [LogLevel](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/LogLevel)

`logger` - [ILogger](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/ILogger)

`silent` - `boolean`

## Method Details

### `getDefault`

```java theme={null}
public static Logger getDefault()
```

Returns a default silent logger (no output).

**Returns:**

[Logger](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/Logger)

### `from`

**Overload 1**

```java theme={null}
public static Logger from(LogConfig config)
```

Creates a Logger from a [`LogConfig`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/LogConfig "class in com.coinbase.cdp.core"). If config is `null`, returns the default silent logger.

**Parameters:**

`config` - [LogConfig](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/LogConfig)

**Returns:**

[Logger](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/Logger)

**Overload 2**

```java theme={null}
public static Logger from(Optional<LogConfig> config)
```

Creates a Logger from an `Optional<LogConfig>`. If empty, returns the default silent logger.

**Parameters:**

`config` - `Optional`\<[LogConfig](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/LogConfig)>

**Returns:**

[Logger](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/Logger)

### `isDebug`

```java theme={null}
public boolean isDebug()
```

**Returns:**

`boolean`

### `isInfo`

```java theme={null}
public boolean isInfo()
```

**Returns:**

`boolean`

### `isWarn`

```java theme={null}
public boolean isWarn()
```

**Returns:**

`boolean`

### `isError`

```java theme={null}
public boolean isError()
```

**Returns:**

`boolean`

### `debug`

```java theme={null}
public void debug(String message)
```

**Parameters:**

`message` - `String`

**Returns:**

`void`

### `info`

```java theme={null}
public void info(String message)
```

**Parameters:**

`message` - `String`

**Returns:**

`void`

### `warn`

```java theme={null}
public void warn(String message)
```

**Parameters:**

`message` - `String`

**Returns:**

`void`

### `error`

```java theme={null}
public void error(String message)
```

**Parameters:**

`message` - `String`

**Returns:**

`void`
