はじめに
Unityで開発をしていてお世話になるのがDebug.Log。
そんなDebug.Logをリリースコードに含めてしまい、リリースアプリでログが表示されてしまっている人も多いのではないでしょうか?
今回は簡単にDebug.Logビルドを抑制できるコードの紹介です。
環境
- Unity 2021.1.26f1
抑制の仕方
ものすごく簡単で、Debug.Logを抑制したい場合に下記の1行を記述するだけです。
Debug.unityLogger.logEnabled = false;
Unity - Scripting API: Debug.unityLogger
サンプルコード
下記のサンプルは何度ボタンを押してもDebug.Logが表示されません。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SampleSceneController : MonoBehaviour
{
[SerializeField] private Button button;
// Start is called before the first frame update
void Start()
{
button?.onClick.AddListener(OnClickedButton);
Debug.unityLogger.logEnabled = false;
}
private void OnClickedButton()
{
Debug.Log("OnClick!!");
}
}
結果
何度押してもDebug.Logが表示されません。
また試しに、trueにしてみると。。。
Debug.unityLogger.logEnabled = true;
無事、表示されています。
注意点
本来であれば、リリースビルドにDebug.Logを含まないようにしてください。
もし大量に仕込んでしまっていて、削除が大変という場合にお使いください。
また、この方法を使うとUnity Editor上でもログが表示されなくなるので、リリースビルドでアプリに書き出す際にのみ対応するようにすると便利です。
さいごに
すでにDebug.Logを埋め込みまくっている場合はこれが楽かもです。
コメント