// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors
// SPDX-License-Identifier: Apache-2.0
using System;
using UnityEngine;
namespace GLTFast.Logging
{
///
/// A logger that can receive log messages of severeness levels
///
public interface ICodeLogger
{
///
/// Dispatches a critical error message.
///
/// Message's log code
/// Additional, optional message parts
void Error(LogCode code, params string[] messages);
///
/// Dispatches a warning message.
///
/// Message's log code
/// Additional, optional message parts
void Warning(LogCode code, params string[] messages);
///
/// Dispatches an informational message.
///
/// Message's log code
/// Additional, optional message parts
void Info(LogCode code, params string[] messages);
///
/// Dispatches an informational message.
///
/// Type of message e.g. warn or error etc.
/// Message's log code
/// Additional, optional message parts
public void Log(LogType logType, LogCode code, params string[] messages)
#if UNITY_2021_3_OR_NEWER
{
switch (logType)
{
case LogType.Log:
Info(code, messages);
break;
case LogType.Warning:
Warning(code, messages);
break;
default:
Error(code, messages);
break;
}
}
#else
;
#endif
///
/// Dispatches a critical error message.
///
/// Message to send
void Error(string message);
///
/// Dispatches a warning message.
///
/// Message to send
void Warning(string message);
///
/// Dispatches an informational message.
///
/// Message to send
void Info(string message);
}
}