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"?>
<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());