如果仍然需要在调用方法记录时在调用者中记录异常吗?

时间:2012-07-11 01:22:31

标签: java logging

class 1:
public static void TypeOneException2TypeTwoException(TypeOneException exception)
                throws TypeTwoException {
            if (exception == null)
                throw new IllegalArgumentException(
                        "TypeOneException shouldn't be null"); 
            LOG_SERVICE.debug(exception.getMessage(), exception);  //log it

            if (exception instanceof TypeTwoException)
                throw new TypeTwoException(
                        DavServletResponse.SC_METHOD_NOT_ALLOWED,
                        exception.getMessage());


class 2:
public void callerOne(){
            try{

            }catch(TypeOneException exception){
                LOG_SERVICE.debug(exception.getMessage(), exception);  //is still need log it? any benifit?
                TypeOneException2TypeTwoException(exception)
            }

class 3:
public void callerTwo(){
            try{

            }catch(TypeOneException exception){
                LOG_SERVICE.debug(exception.getMessage(), exception); //is still need log it?
                TypeOneException2TypeTwoException(exception)
            }

class 4:
public void callerTwo(){
            try{

            }catch(TypeOneException exception){
                LOG_SERVICE.debug(exception.getMessage(), exception); //is still need log it?
                TypeOneException2TypeTwoException(exception)
            }
标题为

。我在class1中记录了错误。如果有需要在调用者中记录它(class2,3,4)?如果需要,任何好处都存在?提前致谢。如果存在重复代码,是否需要?

1 个答案:

答案 0 :(得分:0)

在多个级别进行日志记录没有任何问题。在许多情况下,记录和抛出异常的较低级别调用将在较大操作的上下文中使用。因此,通过将其记录在更高级别来帮助添加上下文。

请记住,日志记录是可配置的,因此您可以打开/关闭每个记录器的日志记录(通常按类级别隔离)。