2017-08-03 3 views
0

J'ai une application de démarrage à ressort configurée, y compris la consignation avec log4j. Dans l'application, il y a quelques couches telles que controller, service, models, repositories, exception etc Pour le moment, j'ai inclus ERROR niveau des journaux dans la couche exception.Quand et où appliquer la consignation dans l'application spring-boot

@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. Est-il approprié d'utiliser l'enregistrement dans l'une des couches mentionnées ci-dessus?
  2. Log4j a le niveau de journal tel que FATAL, erreur, WARN, INFO, DEBUG et TRACE. Comment identifier les situations pour utiliser ces niveaux lors de la connexion aux applications Spring?
+0

Honnêtement, je ne vois pas le but d'une exception distincte couche. Qu'est-ce que vous essayez d'accomplir avec ça? – JanTheGun

+0

J'ai utilisé une usine en faire une préoccupation transversale.Recherchez plus dans ce lien https://stackoverflow.com/questions/45034371/where-to-handle-exceptions-in-spring-applications – Harshakj89

Répondre

1

La réponse à votre première question: L'exploitation forestière est un soi-disant « préoccupation transversale » ce qui signifie qu'il n'est pas lié au domaine des problèmes et il occurrs partout, donc dans le code, dans chaque couche.

Votre deuxième question réponse ici: How to determine what log level to use?