2017-08-03 90 views
0

我有一个弹簧启动应用程序已设置,其中包括使用log4j进行日志记录。在应用程序中,有几个图层,例如controller, service, models, repositories, exception等等。此刻,我在exception图层中包含了错误级日志。何时何地在春季启动应用程序中应用日志记录

@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); 
    } 
} 
  1. 是否适合于在任何上述层的使用日志记录?
  2. 的Log4j具有日志级别如致命ERRORWARNINFODEBUGTRACE。如何识别登录Spring应用程序时使用这些级别的情况?
+0

老实说,我没有看到的宗旨,为一个单独的异常层。你想用这个来完成什么? – JanTheGun

+0

我已经使用了一个工厂使其成为一个横切关注点。在此链接中查找更多信息https://stackoverflow.com/questions/45034371/where-to-handle-exceptions-in-spring-applications – Harshakj89

回答

1

回答你的第一个问题: 记录是所谓的“横切关注点”,这意味着它是不相关的问题域,所以它occurrs无处不在的代码,在每一层。

你的第二个问题是在这里找到答案: How to determine what log level to use?

相关问题