[jira] Commented: (CAY-1039) Log level INFO for error at creating db table should be WARN

From: Kevin Menard (JIRA) ("Kevin)
Date: Fri Sep 12 2008 - 16:57:11 EDT

  • Next message: Ari Maniatis (JIRA): "[jira] Created: (CAY-1107) Support JDBC 4"

        [ https://issues.apache.org/cayenne/browse/CAY-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099#action_13099 ]

    Kevin Menard commented on CAY-1039:
    -----------------------------------

    Looking at this a bit more, changing the message and the log level just pushes the problem elsewhere. E.g., attempting to create a table with an invalid schema name is a hard error. The log level of INFO is probably inappropriate in this case, but the "*** error" is.

    I'll have to think about this a bit more, but there may just not be enough we can do. The only way I see to get accurate messages across the board is to look at each driver's custom exceptions and log accordingly.

    > Log level INFO for error at creating db table should be WARN
    > ------------------------------------------------------------
    >
    > Key: CAY-1039
    > URL: https://issues.apache.org/cayenne/browse/CAY-1039
    > Project: Cayenne
    > Issue Type: Improvement
    > Components: Cayenne Core Library
    > Affects Versions: 3.0
    > Environment: 3.0M3
    > Reporter: Borut BolĨina
    > Assignee: Kevin Menard
    > Priority: Minor
    >
    > When running
    > DbGenerator generator = new DbGenerator(autoDbAdapter, dataMap);
    >
    > generator.setShouldDropTables(false);
    > generator.setShouldCreateFKConstraints(false);
    > generator.setShouldDropPKSupport(false);
    > generator.setShouldCreatePKSupport(true);
    >
    > generator.runGenerator(dataSource);
    > and the database tables already exist and the logger is configured like
    > log4j.logger.org.apache.cayenne.access.QueryLogger = info
    > the log output looks like:
    > INFO [14:49:11.665] CREATE TABLE template (id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB
    > INFO [14:49:11.665] *** error.
    > com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'template' already exists
    > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
    > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
    > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
    > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
    > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
    > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
    > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
    > at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:734)
    > at org.apache.cayenne.access.DbGenerator.safeExecute(DbGenerator.java:352)
    > at org.apache.cayenne.access.DbGenerator.runGenerator(DbGenerator.java:293)
    > at com.interseek.portal.server.Bootstrap.createTables(Bootstrap.java:155)
    > at com.interseek.portal.server.Bootstrap.<init>(Bootstrap.java:58)
    > at com.interseek.portal.server.Bootstrap.main(Bootstrap.java:71)
    > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    > at java.lang.reflect.Method.invoke(Method.java:585)
    > at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:271)
    > at java.lang.Thread.run(Thread.java:595)
    > Wouldn't it be more appropriate if the level for ***error was WARN?
    > How should I configure the logger to supress this ***error messages. I want to log them nicely with:
    > ValidationResult validationResult = generator.getFailures();
    > List<ValidationFailure> list = validationResult.getFailures();
    > if (list.isEmpty()) {
    > logger.info("Database tables generated successfully.");
    > }
    > for (ValidationFailure validationFailure : list) {
    > logger.error(validationFailure.getDescription());
    > }

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Fri Sep 12 2008 - 16:57:41 EDT