Subject | Using an external table for logging |
---|---|
Author | mspencewasunavailable |
Post date | 2007-06-06T18:09:31Z |
Over the years, I've often provided my applications a
logging facility using a text file. In the old days,
I just wrote stuff to the file as needed, but lately,
I've started using something like log4j or (more recently)
log4delphi. This is convenient for debugging, and
nearly always turns out to be useful in the long run so
it gets left in with the more verbose debugging calls
turned off by default. When a user has a problem we
can find out what they really did and let them optionally
turn on some extra logging to get more details.
Is there anything glaringly half-witted about using an external
table to do this? The fact that additions aren't subject to
transaction control is actually a good thing for this use, and I
also like the facts that the log is not accessible by the user,
that all users' logs are centralized and that server-side code
can use the same facility.
In such a use, would it be better to declare everything as text or
to actually store binary data such as timestamps and ints directly?
Any opinions or experiences regarding this? (Beyond the
obvious danger of overuse, of course, or of what might
happen if you hooked IB_Monitor output to the log without
being careful<g>.)
Michael D. Spence
Mockingbird Data Systems, Inc.
logging facility using a text file. In the old days,
I just wrote stuff to the file as needed, but lately,
I've started using something like log4j or (more recently)
log4delphi. This is convenient for debugging, and
nearly always turns out to be useful in the long run so
it gets left in with the more verbose debugging calls
turned off by default. When a user has a problem we
can find out what they really did and let them optionally
turn on some extra logging to get more details.
Is there anything glaringly half-witted about using an external
table to do this? The fact that additions aren't subject to
transaction control is actually a good thing for this use, and I
also like the facts that the log is not accessible by the user,
that all users' logs are centralized and that server-side code
can use the same facility.
In such a use, would it be better to declare everything as text or
to actually store binary data such as timestamps and ints directly?
Any opinions or experiences regarding this? (Beyond the
obvious danger of overuse, of course, or of what might
happen if you hooked IB_Monitor output to the log without
being careful<g>.)
Michael D. Spence
Mockingbird Data Systems, Inc.