Unity/Csharp/Log
提供: 初心者エンジニアの簡易メモ
ログの記述方法
using UnityEngine; Debug.Log("ログです"); Debug.LogError("エラーログです"); Debug.Log("hoge=" + hoge); Debug.Log($"hoge={hoge}");
ログは、Consoleに表示される。
Consoleは、Unityメインメニュー/Window/General/Consoleで、開く。
カスタムログ
例:エラーと、警告だけ表示して、通常ログは表示しないように。
CustomLogHandler.cs
using System; using UnityEngine; public class CustomLogHandler : ILogHandler { private readonly ILogHandler _logHandler; public CustomLogHandler(ILogHandler logHandler) { _logHandler = logHandler; } public void LogFormat(LogType logType, UnityEngine.Object context, string format, params object[] args) { if (logType != LogType.Error && logType != LogType.Warning) return; _logHandler.LogFormat(logType, context, format, args); } public void LogException(Exception exception, UnityEngine.Object context) { _logHandler.LogException(exception, context); } }
MainScene.cs
class MainScene { void Awake() { Debug.unityLogger.logHandler = new CustomLogHandler(Debug.unityLogger.logHandler); Debug.Log("test"); Debug.LogWarning("war"); Debug.LogError("err"); try { throw new Exception("hoge!"); } catch (Exception e) { Debug.LogError("message=" + e.Message); } } }