我在使用NOV的呼叫站点时遇到问题。缺少行号,就像缺少调试信息文件(mdb)一样。但是mdb并没有丢失。什么想法可能是错的?
一些细节:
单声道版本:
auto result = f2(static_cast<int>(NULL));
NLog版本:
Mono JIT compiler version 3.12.1 (mono-3.12.0-branch/4cb3f77 Fri Jul 24 15:30:03 CST 2015)
C#代码:
4.2.2
编辑命令:
using NLog;
using NLog.Targets;
using NLog.Config;
namespace TestMono.Verbose
{
public sealed class TestCallsite
{
public static void Main(string[] arguments)
{
LoggingConfiguration config = new LoggingConfiguration();
ConsoleTarget consoleTarget = new ConsoleTarget();
consoleTarget.Layout = "${message} - ${callsite}";
config.AddTarget("console", consoleTarget);
LoggingRule rule1 = new LoggingRule("*", LogLevel.Debug, consoleTarget);
config.LoggingRules.Add(rule1);
LogManager.Configuration = config;
Logger logger = LogManager.GetLogger("Example");
logger.Trace("trace log message");
logger.Debug("debug log message");
logger.Info("info log message");
logger.Warn("warn log message");
logger.Error("error log message");
logger.Fatal("fatal log message");
}
}
}
控制台输出:
mcs /reference:NLog /reference:NLog.dll test.cs -debug
在&#34; Main&#34;。
之后的括号中应该有一个行号编辑:
使用.NET的Windows控制台输出:
>mono test.exe
debug log message - TestMono.Verbose.TestCallsite.Main
info log message - TestMono.Verbose.TestCallsite.Main
warn log message - TestMono.Verbose.TestCallsite.Main
error log message - TestMono.Verbose.TestCallsite.Main
fatal log message - TestMono.Verbose.TestCallsite.Main
答案 0 :(得分:1)
调用mono:
时使用memset
标志
bool
答案 1 :(得分:0)
NLog为callsite-linenumber提供了单独的布局渲染。不完全确定为什么它的单独而不仅仅是callsite布局中的一个选项呈现 https://github.com/NLog/NLog/wiki/Callsite-line-number-layout-renderer
${callsite-linenumber:skipFrames=Integer}
希望能满足您的需求