Kevin Menard reassigned CAY-1039:
---------------------------------
Assignee: Kevin Menard (was: Andrus Adamchik)
> 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 : Wed Aug 20 2008 - 20:16:10 EDT