---
lang: ja
path: cookbook/linux-sdk/log-config
labels: クックブック/Linux SDK/ログの設定を変更する
metaTitle: ログの設定を変更する | Linux SDK｜ クックブック ｜ SkyWay（スカイウェイ）
---

# ログの設定を変更する
SkyWay Linux®︎ SDK では　SDK のログレベルの変更や、出力されるログの取得、WebRTC 通信に関する詳細なログを確認できます。

## SDKのログレベルを変更する

SDK から出力されるログレベルを変更するには、`skyway::Context::Setup` に渡す`skyway::Context::SkyWayOptions` の `log_level` を変更してください。

設定可能なログレベルと説明については、[Linux SDK APIリファレンス](https://linux-sdk.api-reference.skyway.ntt.com/classskyway_1_1global_1_1interface_1_1_logger.html)を参照してください。

以下はログレベルを `TRACE` に設定した場合の例です。

```c++
skyway::Context::SkyWayOptions options{};

// SkyWayのログレベルの設定が行えます。
options.log_level = skyway::global::interface::Logger::kTrace;

skyway::Context::Setup(token, nullptr, options);
```

アプリケーション開発時は、不具合の調査や [SkyWay サポート](https://support.skyway.ntt.com/hc/ja)とのやり取りを円滑に行うために、ログレベルを `TRACE` に設定することをおすすめします。

## SDKのログを取得する

SDK から出力されるログを取得する場合は Logger にイベントリスナーを設定してください。

イベントリスナーは `skyway::global::Logger::Listener` をオーバーライドして実装してください。
イベントリスナーのインターフェースについては [Linux SDK API リファレンス](https://linux-sdk.api-reference.skyway.ntt.com/classskyway_1_1global_1_1_logger_1_1_listener.html)を参照してください。

以下は SDK のログを標準出力するリスナーの例です。

```c++
class LoggerListener : public skyway::global::Logger::Listener {
    void OnLog(skyway::global::Logger::Level level, const std::string& text) override {
        std::cout << "[" << level << "] " << text << std::endl;
    }
};

// 実装したイベントリスナーを登録します。
auto logger_listener = std::make_shared<LoggerListener>();
skyway::global::Logger::RegisterListener(logger_listener);
```

> **注意**
> 各イベントリスナー内では直接、SkyWayの操作や処理をブロックするような処理は行わないでください。 
>
> そのような処理を行う場合は他のスレッドへ処理を移譲してください。

## WebRTCに関するログを表示する

WebRTC 通信による詳細なログを出力する場合は、`skyway::Context::SkyWayOptions` の `enable_webrtc_log` を `true` に設定してください。

```c++
skyway::Context::SkyWayOptions options{};

// WebRTCのログ出力を有効にします。
options.enable_webrtc_log = true;

skyway::Context::Setup(token, nullptr, options);
```

## 商標

Linux®︎は、米国およびその他の国における Linus Torvalds の登録商標です。
