Issue #2359 fix for extra long messages

Former-commit-id: ea89d218a8 [formerly e7763c0864] [formerly 665e224c75] [formerly 3abe5b9f18 [formerly 665e224c75 [formerly 0abed910739dc824b174c8de5c4b155a1fd91803]]]
Former-commit-id: 3abe5b9f18
Former-commit-id: e27bb5daa3af459b5fe7294e0931b9bea19a9c01 [formerly 8ad85c297c]
Former-commit-id: 3d10b22fe1
This commit is contained in:
Nate Jensen 2013-10-28 09:15:20 -05:00
parent fa1bd6b2a4
commit 3cfbcbed91
2 changed files with 22 additions and 7 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<logSrvConfig> <logSrvConfig>
<clusterName>ts1-oma</clusterName> <clusterName>ec-redbaron</clusterName>
<databaseDir>/awips2/edex/data/utility/nate</databaseDir> <databaseDir>/awips2/edex/data/utility/nate</databaseDir>
<fromAddress>Nathan.Jensen@raytheon.com</fromAddress> <fromAddress>Nathan.Jensen@raytheon.com</fromAddress>
<smtpHost>mk2-msg10.raymail.ray.com</smtpHost> <smtpHost>mk2-msg10.raymail.ray.com</smtpHost>

View file

@ -59,12 +59,15 @@ public class DerbyDao {
private static final String TABLE = "log"; private static final String TABLE = "log";
private static final int MAX_STR_LEN = 32672;
private static final String DB_CREATE = "CREATE TABLE " + TABLE private static final String DB_CREATE = "CREATE TABLE " + TABLE
+ "(pk INT NOT NULL GENERATED BY DEFAULT AS IDENTITY, " + "(pk INT NOT NULL GENERATED BY DEFAULT AS IDENTITY, "
+ "eventTime TIMESTAMP, " + "message VARCHAR(32672), " + "eventTime TIMESTAMP, " + "message VARCHAR(" + MAX_STR_LEN
+ "javaClass VARCHAR(128), " + "lineNumber INT, " + "), " + "javaClass VARCHAR(128), " + "lineNumber INT, "
+ "stacktrace VARCHAR(32672), " + "threadName VARCHAR(128), " + "stacktrace VARCHAR(" + MAX_STR_LEN + "), "
+ "machineName VARCHAR(128), " + "level VARCHAR(32))"; + "threadName VARCHAR(128), " + "machineName VARCHAR(128), "
+ "level VARCHAR(32))";
private static final String INSERT_PREPARED_STATEMENT = "INSERT INTO " private static final String INSERT_PREPARED_STATEMENT = "INSERT INTO "
+ TABLE + TABLE
@ -169,10 +172,22 @@ public class DerbyDao {
saveStatement.setTimestamp(1, new Timestamp(event.getEventTime() saveStatement.setTimestamp(1, new Timestamp(event.getEventTime()
.getTime())); .getTime()));
saveStatement.setString(2, event.getMessage()); if (event.getMessage() == null
|| event.getMessage().length() < MAX_STR_LEN) {
saveStatement.setString(2, event.getMessage());
} else {
saveStatement.setString(2,
event.getMessage().substring(0, MAX_STR_LEN - 1));
}
saveStatement.setString(3, event.getJavaClass()); saveStatement.setString(3, event.getJavaClass());
saveStatement.setInt(4, event.getLineNumber()); saveStatement.setInt(4, event.getLineNumber());
saveStatement.setString(5, event.getStacktrace()); if (event.getStacktrace() == null
|| event.getStacktrace().length() < MAX_STR_LEN) {
saveStatement.setString(5, event.getStacktrace());
} else {
saveStatement.setString(5,
event.getStacktrace().substring(0, MAX_STR_LEN - 1));
}
saveStatement.setString(6, event.getThreadName()); saveStatement.setString(6, event.getThreadName());
saveStatement.setString(7, event.getMachineName()); saveStatement.setString(7, event.getMachineName());
saveStatement.setString(8, event.getLevel()); saveStatement.setString(8, event.getLevel());