Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ILogHandler

Interface for custom log handler implementation.
Read time 1 minuteLast updated 6 days ago

Definition

  • Type: Interface
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule
public interface ILogHandler

Remarks

ILogHandler interface to ease unit-testing and mocking of loggers.

Examples

using UnityEngine;using System.Collections;using System.IO;using System;public class MyFileLogHandler : ILogHandler{ private FileStream m_FileStream; private StreamWriter m_StreamWriter; private ILogHandler m_DefaultLogHandler = Debug.unityLogger.logHandler; public MyFileLogHandler() { string filePath = Application.persistentDataPath + "/MyLogs.txt"; m_FileStream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); m_StreamWriter = new StreamWriter(m_FileStream); // Replace the default debug log handler Debug.unityLogger.logHandler = this; } public void LogFormat(LogType logType, UnityEngine.Object context, string format, params object[] args) { m_StreamWriter.WriteLine(String.Format(format, args)); m_StreamWriter.Flush(); m_DefaultLogHandler.LogFormat(logType, context, format, args); } public void LogException(Exception exception, UnityEngine.Object context) { m_DefaultLogHandler.LogException(exception, context); }}public class MyGameClass : MonoBehaviour{ private static ILogger logger = Debug.unityLogger; private static string kTAG = "MyGameTag"; private MyFileLogHandler myFileLogHandler; void Start() { myFileLogHandler = new MyFileLogHandler(); logger.Log(kTAG, "MyGameClass Start."); }}

Methods

Method

Description

LogExceptionA variant of ILogHandler.LogFormat that logs an exception message.
LogFormatLogs a formatted message.