打印日志消息的问题

旧的用户旧的用户 成员职位:0新手
2018年11月编辑 帮助
你好RapidMiners,

我对日志系统有一个问题,即我似乎不理解它:)我创建了一个插件,这是基于遗传算法,java。在我复制的GenticAlgorithm文件中,我可以用logNote(“xxx”)输出日志消息。该类为mutatation返回一个“PopulationOperator”(在AbstractGeneticAlgorithm中使用),我将其交换为我自己的Operator,但是我不能从MyMutationOperator(看起来非常像selectionmutation .java)记录任何消息。我试着:

LogService.getGlobal () .setVerbosityLevel (LogService.MAXIMUM);
LogService.getGlobal () . log ("--------", LogService.NOTE);
但是这不会在RapidMiners控制台打印任何语句。我确实知道代码被执行了,因为System.out.out.printlns通过。

的提议吗?

谢谢
标记:

答案

  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,会员职位:2531年独角兽
    嗨,塞巴斯蒂安,
    如果我没理解错的话,你实现了另一个算子?然后您将在流程中使用它。如果您单击进程的根,有一个参数“logverbosity”,您是否将值更改为您在操作符中使用的verbosity ?

    问候,
    塞巴斯蒂安。
  • 旧的用户旧的用户 成员职位:0新手
    你好,
    谢谢你的回答。是的,我想我确实实现了一个新的操作符,但是我对RapidMiner的理解仍然有一些不尽如人意的地方。几天前,我在对RapidMiner一无所知的情况下开始写一个插件:)

    为了理解这种情况,也许你可以看一下提供的例子05_Features/11_Evolutionary Feature_Selection

    有一个元素“GeneticAlgorithm”(一个FeatureOperator)从里面,我可以打印日志消息(“Notes”),现在GeneticAlgorithm做一些像新的SelectionCrossover(crossoverType, pCrossover, getRandom(), minNumber, maxNumber, exactNumber);SelectionMuation是一个单独的操作符。这个操作符不能在RapidMiners操作符树中看到,因为我假设它在某种程度上是GeneticAlgortihm的“内部”。在Selection Mutation中,我发现没有办法将消息打印到日志中。

    正如您所建议的,我尝试了“Root-Process”元素的“logverbostiy”,但这没有帮助。

    对相关文档有什么建议或指示吗?


  • IngoRMIngoRM 管理员、版主、员工、RapidMiner认证分析师、RapidMiner认证专家、社区管理员、rmresearch研究员、成员、大学教授职位:1751年RM创始人
    你好,

    LogService.getGlobal () .setVerbosityLevel (LogService.MAXIMUM);
    LogService.getGlobal () . log ("--------", LogService.NOTE);
    问题出在第一行。这将全局LogService设置为一种模式,其中只记录最重要的消息(那些详细级别为MAXIMUM的消息)。NOTE小于MAXIMUM,因此不显示。解决方法很简单:跳过第一行,只使用第二行。

    LogService.getGlobal () . log ("--------", LogService.NOTE);
    希望有帮助,
    Ingo
  • 旧的用户旧的用户 成员职位:0新手
    好的,谢谢。我一直在用另一种方式理解LogLevels。我仍然不完全确定它现在是否按预期工作,但至少我通过了一些日志消息,并将解决其余的问题:)
登录注册置评。