Unity控制台日志开启重定向

在Unity开发中,为了方便管理和调试,常常需要对控制台日志进行自定义重定向,特别是当涉及到lua代码的日志时。通过使用OnOpenAssetAttribute进行文件监听,并结合反射获取日志内容,可以实现日志的重定向。代码实现中,关键在于设置logCSName为自定义日志类的名称,以便在双击日志时触发重定向操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Unity中,一般都会自己手动封装一次日志,或者自定义一些日志输出,比如lua代码的日志输出,双击开启时我们希望重新定向的其他的文件,而不是封装代码里,这里要用到的主要是[OnOpenAssetAttribute(0)],每次文件开启时,先执行自定义的代码,代码里自己重定向文件和行数,然后再选择开启。对于Unity控制台,我们还要用反射取得对应的日志内容。
直接上代码,使用时直接修改logCSName变量,将自己封装的日志类写入即可。


using System.Reflection;
using UnityEditor;
using System;
using UnityEditor.Callbacks;


public class LogRedirect
{
    private const string logCSName = "MyLog.cs";
    private static object logListView;
    private static EditorWindow consoleWindow;
    private static FieldInfo logListViewCurrentRow;
    private static MethodInfo LogEntriesGetEntry;
    private static object logEntry;
    private static FieldInfo logEntryCondition;
    private static int openInstanceID;
    private static int openLine;

    private static bool GetConsoleWindowListView()
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值