Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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
Java 添加日志和异常处理_Java - Fatal编程技术网

Java 添加日志和异常处理

Java 添加日志和异常处理,java,Java,我试图在这里处理代码,然后再次调用a方法来添加DBkey并添加更多日志以打印确切的异常 boolean isEnabled(String dbKey) { Connection conn = null; boolean enabledFlag = false; Hashtable params = null; String sqlKey = "abc_a"; String paramKey = "cde_a"

我试图在这里处理代码,然后再次调用a方法来添加DBkey并添加更多日志以打印确切的异常

    boolean isEnabled(String dbKey) {
        Connection conn = null;
        boolean enabledFlag = false;
        Hashtable params = null;
        String sqlKey = "abc_a";
        String paramKey = "cde_a";
        try {
            conn = JdoServer.getInstance(buildConfiguration.cDatabaseKey)
                    .getConnection();
            String sql = JdoServer.getSqlStatement(sqlKey);
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, paramKey);
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                enabledFlag = rs.getBoolean(1);
            }
            rs.close();
            ps.close();
        } catch (SQLException se) {
            Log.println(buildConfiguration.errorProjectName, "Database error",
                    se, Log.URGENT);

//Kiru 19/12/2014 Add log for Database key
             catch (SQLException ab) {
                    Log.println( JdoServer.getInstance(buildConfiguration.cDatabaseKey,
                            ab, Log.URGENT);

请说明我的异常处理是否正确,以及如何记录dbkey?

出于调试目的,始终建议记录堆栈跟踪: 在代码中,您只是记录一些消息,但这对调试没有帮助,因此最好记录堆栈跟踪

log.error("Your description here", exception); // this is just an example
// change it according to you Log framework 

使用log4j等日志框架,它具有级别。不同的环境(如开发和生产环境)需要不同级别的日志记录。建议以错误级别打印堆栈跟踪。您也可以通过属性文件log4j.properties/log4j.xml来控制这一点


阅读更多信息。

使用具有适当日志级别的日志框架,在这种情况下,您可以使用调试级别,现在还可以记录异常以了解到底发生了什么 我希望这能奏效

ab.printStackTrace();

尽量使用日志ID,因为它有助于调试

什么是log.println?尝试一些日志库,比如log4j,它很容易配置和使用。嗨,我现在可以使用what is then方法来添加DBKeyHi,它抛出了一个错误数据库错误,但我不知道为什么会抛出,我如何识别导致数据库错误的原因我当前的log.java类包含printIn方法,我想使用现有的方法。可以这样做吗public static void printlnString projectFileName,String msg,int severity{dispatchprojectfilename,msg,null,severity;}Hi@femalesoftwareenginer我想如果您打印Stack Trace或se.getMessage,它会告诉您原因。确保您可以使用现有的方法,但是最好使用一些日志框架。我可以使用什么方法来打印dbkey,因为我当前的日志只记录为数据库错误,我不确定错误发生在哪里?@femalesoftwareengineer你能提供你得到的确切消息吗?@shikjohari我在处理数据数据库的abc文件时出错下面处理`}catch SQLException se{Log.printlnbuildConfiguration.errorProjectName,Database error,se,Log.URGENT捕获的错误;错误处理abcfile for data Database errorHi Expert我可以使用什么方法添加DBKey