如何更改AX信息消息的级别

时间:2011-07-12 13:23:25

标签: x++ axapta

在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 ++中执行此操作,以及有关缩进级别当前处于活动状态的规则是什么?

1 个答案:

答案 0 :(得分:14)

AX中的

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