相关疑难解决方法(0)

如何使用SLF4J使用占位符记录异常和消息

使用SLF4J记录错误消息和异常的正确方法是什么?

我试过这样做但是从不打印异常堆栈跟踪:

logger.error("Unable to parse data {}", inputMessage, e);

在这种情况下,我想填充{}inputMessage和退出异常堆栈跟踪.

我能看到这样做的唯一方法就是这样做:

logger.error("Unable to parse data " + inputMessage, e);

这不漂亮.

java logging slf4j

78
推荐指数
1
解决办法
4万
查看次数

Sonar抱怨记录和重新抛出异常

我在我的程序中有以下代码片段,并且在与Maven集成之后,我正在运行SonarQube 5以进行代码质量检查.

然而,Sonar抱怨我应该记录或重新抛出此异常.

我在这里错过了什么?我还没有记录异常吗?

 private boolean authenticate(User user) {
        boolean validUser = false;
        int validUserCount = 0;
        try {
            DataSource dataSource = (DataSource) getServletContext().getAttribute("dataSource");
            validUserCount = new MasterDao(dataSource).getValidUserCount(user);
        } catch (SQLException sqle) {
            LOG.error("Exception while validating user credentials for user with username: " + user.getUsername() + " and pwd:" + user.getPwd());
            LOG.error(sqle.getMessage());
        }
        if (validUserCount == 1) {
            validUser = true;
        }
        return validUser;
    }
Run Code Online (Sandbox Code Playgroud)

java exception-handling maven sonarqube sonarqube-5.0

16
推荐指数
3
解决办法
4万
查看次数

记录或重新抛出此异常

Sonar可能重复抱怨记录和重新抛出异常.

这是我在课堂上的代码:

try
    {
        this.processDeepLinkData(data);
    }
    catch (final Exception e)
    {
        // Error while parsing data
        // Nothing we can do
        Logger.error(TAG, "Exception thrown on processDeepLinkData. Msg: " + e.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

和我的Logger类:

    import android.content.Context;
    import android.util.Log;
    import com.crashlytics.android.Crashlytics;

    public final class Logger
    {
        /**
         * Convenience method.
         *
         * @see Logger#log(String, String)
         */
        public static void error(final String tag, final String msg)
        {
            if (Logger.DEBUG)
            {
                Log.e(tag, "" + msg);
            }
            else
            {
                Logger.log(tag, "" + msg); …
Run Code Online (Sandbox Code Playgroud)

java android code-analysis sonar-runner sonarqube

4
推荐指数
1
解决办法
2万
查看次数