Java 何时何地在spring boot应用程序中应用日志记录
我已经升级了一个spring启动应用程序集,包括使用log4j进行日志记录。在应用程序中,有几个层,例如Java 何时何地在spring boot应用程序中应用日志记录,java,spring,logging,log4j,Java,Spring,Logging,Log4j,我已经升级了一个spring启动应用程序集,包括使用log4j进行日志记录。在应用程序中,有几个层,例如控制器、服务、模型、存储库、异常等。目前,我在异常层中包含了错误级别的日志 @Component public class ExceptionFactory { private static final Logger LOG = LoggerFactory.getLogger(ExceptionFactory.class); public static Applicat
控制器、服务、模型、存储库、异常
等。目前,我在异常
层中包含了错误级别的日志
@Component
public class ExceptionFactory {
private static final Logger LOG = LoggerFactory.getLogger(ExceptionFactory.class);
public static ApplicationSpecificException create(final Throwable cause, final ExceptionType exceptionType, final Object... messageArguments) {
LOG.error(MessageFormat.format(exceptionType.getMessage(), messageArguments), cause);
return new ApplicationSpecificException (exceptionType, cause, messageArguments);
}
public static ApplicationSpecificException create(final ExceptionType exceptionType, final Object... messageArguments) {
LOG.error(MessageFormat.format(exceptionType.getMessage(), messageArguments));
return new ApplicationSpecificException(exceptionType, messageArguments);
}
}
第一个问题的答案: 日志记录是一个所谓的“交叉关注点”,这意味着它与问题域无关,因此它出现在代码中的任何地方,每一层 您的第二个问题在这里得到了回答:
老实说,我看不出单独的异常层有什么用途。你想用它实现什么?我使用了一个工厂,使它成为一个交叉关注点。在这个链接中可以找到更多信息