using R3;
using UnityEngine;
namespace GameCult.Logging.Unity
{
///
/// Adapts calls to Unity's logging facilities.
///
public class UnityLogger : ILogger
{
private readonly bool _isDebugBuild = Debug.isDebugBuild; // Cache Unity-specific
///
public void LogInfo(string message)
{
Observable.NextFrame().Subscribe(_ => Debug.Log($"[INFO] {message}"));
}
///
public void LogWarning(string message)
{
Observable.NextFrame().Subscribe(_ => Debug.LogWarning($"[WARN] {message}"));
}
///
public void LogError(string message)
{
Observable.NextFrame().Subscribe(_ => Debug.LogError($"[ERROR] {message}"));
}
///
public void LogDebug(string message)
{
if (_isDebugBuild)
Observable.NextFrame().Subscribe(_ => Debug.Log($"[DEBUG] {message}"));
}
}
}