Issue #2359 fix for extra long messages

Former-commit-id: 0abed910739dc824b174c8de5c4b155a1fd91803
This commit is contained in:
Nate Jensen 2013-10-28 09:15:20 -05:00
parent 4b19d287ea
commit 665e224c75
2 changed files with 22 additions and 7 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<logSrvConfig>
<clusterName>ts1-oma</clusterName>
<clusterName>ec-redbaron</clusterName>
<databaseDir>/awips2/edex/data/utility/nate</databaseDir>
<fromAddress>Nathan.Jensen@raytheon.com</fromAddress>
<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 int MAX_STR_LEN = 32672;
private static final String DB_CREATE = "CREATE TABLE " + TABLE
+ "(pk INT NOT NULL GENERATED BY DEFAULT AS IDENTITY, "
+ "eventTime TIMESTAMP, " + "message VARCHAR(32672), "
+ "javaClass VARCHAR(128), " + "lineNumber INT, "
+ "stacktrace VARCHAR(32672), " + "threadName VARCHAR(128), "
+ "machineName VARCHAR(128), " + "level VARCHAR(32))";
+ "eventTime TIMESTAMP, " + "message VARCHAR(" + MAX_STR_LEN
+ "), " + "javaClass VARCHAR(128), " + "lineNumber INT, "
+ "stacktrace VARCHAR(" + MAX_STR_LEN + "), "
+ "threadName VARCHAR(128), " + "machineName VARCHAR(128), "
+ "level VARCHAR(32))";
private static final String INSERT_PREPARED_STATEMENT = "INSERT INTO "
+ TABLE
@ -169,10 +172,22 @@ public class DerbyDao {
saveStatement.setTimestamp(1, new Timestamp(event.getEventTime()
.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.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(7, event.getMachineName());
saveStatement.setString(8, event.getLevel());