在Dynamics AX 2009中,我试图确定信息消息的缩进级别。我想要的是类似的东西:
Prefix
Info1
Info2
Prefix2
Info3
我发现了这个:
http://www.doens.be/2010/05/the-ax-infolog/
但是不想使用循环,所以我认为这样的东西可能会起作用:
setprefix("Prefix");
{
info("Info1");
info("Info2");
}
setprefix("Prefix2");
{
info("Info3");
}
但事实并非如此。有没有办法在x ++中执行此操作,以及有关缩进级别当前处于活动状态的规则是什么?
答案 0 :(得分:14)
setPrefix
设置(添加)当前执行范围的前缀,当离开范围时,前缀会自动重置为上一级别。您可以使用getPrefix
来检查当前的执行前缀。
2个黑客可以帮助你收到预期的结果:
<强>#1 强>
static void TestJob(Args _args)
{
void sub1()
{
setprefix("Prefix");
info("Info1");
info("Info2");
}
void sub2()
{
setprefix("Prefix2");
info("Info3");
}
;
setPrefix("Main");
sub1();
sub2();
}
<强>#2 强>
static void TestJob(Args _args)
{
setPrefix("Main");
info("Prefix\tInfo1");
info("Prefix\tInfo2");
info("Prefix2\tInfo3");
}