版本:Unity 6 (6000.0)
语言英语
  • C#

ILogHandler

UnityEngine 中的接口

建议更改

成功!

感谢帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户建议的每一次更改,并会根据需要进行更新。

关闭

提交失败

由于某种原因,无法提交您的建议更改。请在几分钟后重试。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

说明

用于自定义日志处理程序实现的接口。

ILogHandler 接口可简化对 logging 进行单元测试和模拟。

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."); } }

公共方法

LogExceptionILogHandler.LogFormat 的一个变体,用于记录异常信息。
LogFormat记录一个格式化的信息。