---
name: "mongoc_client_set_structured_log_opts"
section: "3"
platform: "linux"
package: "libmongoc-doc"
version: "1.30.4-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mongoc_client_set_structured_log_opts"
---

# mongoc\_client\_set\_structured\_log\_opts(3)

## SYNOPSIS

```
bool
mongoc_client_set_structured_log_opts (mongoc_client_t *client,
                                       const mongoc_structured_log_opts_t *opts);
```

Reconfigures this client's structured logging subsystem. See *Structured Logging*.

This function must not be called on clients that are part of a *mongoc\_client\_pool\_t*. Structured logging for pools must be configured with *mongoc\_client\_pool\_set\_structured\_log\_opts()* before the first call to *mongoc\_client\_pool\_pop()*.

The *mongoc\_structured\_log\_opts\_t* is copied by the client and may be safely destroyed by the caller after this API call completes. The application is responsible for ensuring any **user\_data** referenced by **opts** remains valid for the lifetime of the client.

By default, the *mongoc\_client\_t* will have log options captured from the environment during *mongoc\_client\_new()*. See *mongoc\_structured\_log\_opts\_new()* for a list of the supported options.

The structured logging subsystem may be disabled by passing NULL as **opts** or equivalently by passing NULL as the *mongoc\_structured\_log\_func\_t* in *mongoc\_structured\_log\_opts\_set\_handler()*.

## PARAMETERS

- •

  **client**: A *mongoc\_client\_t*.

- •

  **opts**: A *mongoc\_structured\_log\_opts\_t* allocated with *mongoc\_structured\_log\_opts\_new()*, or NULL to disable structured logging.

## RETURNS

Returns true when used correctly. If called on a pooled client, returns false and logs a warning.

**SEE ALSO:**

```
Structured Logging
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
