如何解决有条件记录信息的最有效方法是什么?
我真的不知道从应用程序记录信息的最佳方法是什么。我见过的大多数程序都是这样编写的:
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.x 或http://www.slf4j.org/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。