微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有条件记录信息的最有效方法是什么?

如何解决有条件记录信息的最有效方法是什么?

我真的不知道从应用程序记录信息的最佳方法是什么。我见过的大多数程序都是这样编写的:

while(true) {
   //code
   if(debug == true) {
      log(info);
   }
end

我想过使用两个单独的循环,如下所示:

if(debug == true) {
   while(true) {
      //code
      log(info);
   }
else {
   while(true) {
      //code
   }
}

但是这有一个问题,那就是以后要做的工作要翻倍。我认为最好的最后一种解决方案是使用lambda表达式之类的东西,然后传递一个空的实现以供使用,而无需进行调试:

public void loop(Debug debug) {
   while(true) {
      //code
      debug.log(info)
   }
}

public static void main(String[] args) {
   loop(d -> {
      //print to file,command line,etc. OR do nothing
   });
}

在问题或意想不到的后果方面的任何澄清将不胜感激。 预先感谢!

解决方法

不要尝试发明自行车。使用现有的日志记录框架并遵循其准则。

无论您怎么想,您都需要克服已经解决的相同问题。

例如https://logging.apache.org/log4j/2.xhttp://www.slf4j.org/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。