Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SimpleMappingExceptionResolver,带有不带Java代码的日志记录_Java_Spring_Spring Mvc_Logging_Exception Handling - Fatal编程技术网

SimpleMappingExceptionResolver,带有不带Java代码的日志记录

SimpleMappingExceptionResolver,带有不带Java代码的日志记录,java,spring,spring-mvc,logging,exception-handling,Java,Spring,Spring Mvc,Logging,Exception Handling,我想在SpringMVC应用程序中实现异常处理。我选择SimpleMappingExceptionResolver,因为这是最清晰的解决方案。唯一的问题是,在我发现的所有教程和示例中,日志都是用Java代码实现的,如下所示: private static final Logger logger = LoggerFactory.getLogger(MyExceptionHandler.class); 我认为这不是一个好方法,所以我想问,如果没有java代码、使用某种xml配置等,是否有任何方法可

我想在SpringMVC应用程序中实现异常处理。我选择SimpleMappingExceptionResolver,因为这是最清晰的解决方案。唯一的问题是,在我发现的所有教程和示例中,日志都是用Java代码实现的,如下所示:

private static final Logger logger = LoggerFactory.getLogger(MyExceptionHandler.class);

我认为这不是一个好方法,所以我想问,如果没有java代码、使用某种xml配置等,是否有任何方法可以做到这一点?

这并不是在java中实现日志代码。您只是告诉日志记录器我在这个文件中,并将发布它的日志。为什么这一行会让你如此心痛,这是我无法理解的?因为我的应用程序中有多个控制器,所以这个记录器有多个定义。为什么我不能让这一切以某种方式自动连接?那么这就回答了你的问题:。正如答案所说,您的问题的简短答案是log4j不是DI友好的。我仍然不认为这是一个大问题。log4jconfig.initLogging()方法有一个无效的返回值,因此没有什么可注入的。其思想是调用该方法,该方法引导log4j,然后像往常一样使用log4japi(使用Logger.getLogger(getClass())。