在我的应用程序中
Web 前端使用Struts
和Spring
用于业务和事务管理。
现在,我在业务逻辑端(bean)实现日志记录。
日志应该这样发生,服务中的每个方法都应该有登录的用户详细信息
一种方法是将用户对象发送到服务中的每个方法,当它被从 Servlet 调用时
但这真的很脏。
spring/struts2-spring 是否支持任何其他方式来做到这一点。??
您应该使用Spring AOP进行日志记录。这将使代码更清晰,您无需依赖开发人员在每个地方进行日志记录。
要打印用户详细信息,请使用SLF4J 的MDC功能。它就像一个 ThreadLocal 哈希图,您可以从任何地方访问它。所以你的入口方法可以把userdetails放到MDC中,可以在你的log方法中访问。
使用Spring AOP为你做日志(附带一个日志框架),Struts2 与 Spring AOP 无关。Spring AOP 可以独立工作,无论它是 Web 应用程序还是具有 Minimal Setup 的 Swing 应用程序。