我的课程中只有一个方法用于测试目的:
private void printOut(String msg, Object value)
{
System.out.println(msg + value);
}
它是System.out.println();
的包装方法所以我希望,通过使用Annotation,我可以选择不在生产环境中运行此方法,同时如果我要切换回调试环境,仍然保持这些诊断输出准备就绪。
我应该在方法名称之上放置哪个注释?
答案 0 :(得分:11)
如上所述,您应该使用日志记录。 以下是在应用程序中使用日志记录的一些好处:
详细了解如何记录here
java中有很多日志框架:
还有几个外观,它们为各种日志框架提供了抽象:
答案 1 :(得分:8)
一种解决方案是使用AspectJ来执行此操作,因为您可以根据注释控制行为。
以下是有关如何将注释用作连接点的教程:
http://www.eclipse.org/aspectj//doc/next/adk15notebook/annotations-pointcuts-and-advice.html
你可以做的是:
@DebugMessage
private void printOut(String msg, Object value)
{ }
然后,在您的方面,您可以让方面进行println
调用。
这样,在生产中,方面不包括在内,但是,如果您需要将其激活,那么只需添加方面,甚至是生产代码,即可进行调试。
答案 2 :(得分:3)
你应该遵循uthark的建议并使用日志框架。
这些是专为这种情况而设计的。
做一些“时髦”的事情可能会在以后引起问题。