经过多次尝试,我终于能够提出一个问题了。我希望它有一定道理并易于理解。使用Spring和Jersey的Web应用程序。我需要实现一个应用程序范围的记录器,它应该将应用程序上执行的所有活动记录到数据库中。目前我已经使用HAS-A
实现并在任何地方调用日志记录方法执行CRUD操作。像这样:
LogBean lBean=new LogBean("rickesh@email.com","update","address","127.0.0.1");
logToDatabase(lBean);
但是这会导致很多重复的代码行,并且我必须在执行CRUD操作的每个部分重复地实例化并调用log方法。有什么办法可以从控制器层(REST层)中提取日志记录吗? Spring或Jersey中是否有任何特定的功能,我可以在单独的层上执行日志记录,而且我不必在任何地方继续重复相同的代码行。请指教。
答案 0 :(得分:6)
如果您在撰写日志时变得混乱,应该查看AOP。如果您已经使用了spring,则应该阅读Spring AOP,并且要记录本身,请阅读using Spring AOP for logging
答案 1 :(得分:1)
AOP是一种更好的方法,但是如果要学习它来解决这个问题需要更长的时间,那么这是一个简单的替代方案。
您的特定“单独图层”应具有单独且不同的包名称,以定位该图层的日志附加内容 希望这有帮助!