C# 在Unity';谁的控制台?
我正在为Unity使用一个自定义记录器(log4net),遵循指南。这涉及到使用C# 在Unity';谁的控制台?,c#,unity3d,C#,Unity3d,我正在为Unity使用一个自定义记录器(log4net),遵循指南。这涉及到使用Debug.Log()创建一个自定义appender,该appender可写入Unity的控制台。所有这些都非常有效,但问题是,每当打印日志语句时,它都来自自定义appender。因此,当我双击控制台中的消息时,我最终打开了appender的代码,而不是消息来源的源代码。我想在控制台中打印一个指向源代码路径的可单击超链接。(我已经有了路径) Unity控制台似乎已经支持可点击链接: 我只是不知道如何让它打印我想要的链
Debug.Log()
创建一个自定义appender,该appender可写入Unity的控制台。所有这些都非常有效,但问题是,每当打印日志语句时,它都来自自定义appender。因此,当我双击控制台中的消息时,我最终打开了appender的代码,而不是消息来源的源代码。我想在控制台中打印一个指向源代码路径的可单击超链接。(我已经有了路径)
Unity控制台似乎已经支持可点击链接:
我只是不知道如何让它打印我想要的链接
在IDE(如Intellij)中,控制台自动解析链接,因此我尝试在unity控制台中打印源的路径,例如:
(位于Assets/Scripts/movablemplatform.cs:)
但这不起作用
TL;博士
我想知道是否可以在Unity的控制台中打印可单击的链接,如“”或“file:///D:/Mysourcode/main.cs’据我所知,没有。
这些链接在那里,因此您可以跳转到导致Debug.Log调用的堆栈跟踪中的任何调用方法,您所要做的就是向下滚动。Unity添加此功能正是因为日志附加器,但系统完全由Unity管理。双击仍然会转到实际的Debug.Log行,但是您仍然可以通过这些“超链接”访问其他行,但是它们是由Unity自动构建的,并且没有用于自己编写这些链接的API
如果你不想让你的日志附加器丢失这些信息,那么当你使用你的日志附加器时,不要做任何让Unity丢失这些信息的事情。您没有包含代码,因此不清楚为什么会丢失额外的信息。同时检查您的和您是否正在使用Unity 2019.1或更新版本。尝试在按住控制按钮的同时单击它。(这就是它在记事本++,Visual Studio中的正常工作方式…)告诉我它是否工作。@Vyacheslav我不确定你的意思。。。用Ctrl键单击它,即使它不是链接?如果是这样,它肯定不起作用。@Pac0糟糕。早上好。误读了你的问题,@practicsystematic,对不起。是我的appender的粘贴箱。我不确定你所说的“失去信息的团结”是什么意思,因为它的行为完全符合预期。当appender调用Debug.Log时,unity打印此调用的来源。它怎么知道这个电话是从哪里打来的?也许我遗漏了什么。还有
记录事件?几乎可以肯定的是,通过将事件推到事件中,您已经破坏了堆栈跟踪。实际上,我刚刚注意到,堆栈跟踪是。启动日志调用的实际文件的路径将在所有日志功能之后打印LoggingEvent
是记录器的内部内容。我不知道它在里面做什么。我遵循了我问题中链接的指南。我不知道在没有LoggingEvent的情况下如何使用记录器如果它完好无损,那么就没有问题了。你只需要向下滚动(你实际上不需要让那部分更高,它会滚动)。是的。我刚注意到。但如果Unity允许我们进行自定义链接,那就太好了。