Toothpick is provided in a number of small packages. It's sliced so thinly so that you only load what you need for your logging task. Also, slicing thin helps manage prerequisite dependencies. If you're packaging Toothpick in a run-time image, for example, you wouldn't want a TranscriptLogger in there.
Here's the package structure:
- ToothpickPreload - contains dialect-specific classes and code.
- Toothpick - the base package
- ToothpickPatternFormat - implements the PatternFormatter
- ToothpickConfigFileReader - an ini file reader for dialects which don't have one, or a Facade to an existing one
- ToothpickConfiguration - implements the logger configuration mechanism
In addition, a number of loggers are available:
- ToothpickTranscriptLogger - logs to the Transcript
- ToothpickSystemTraceLogger - logs to the Windows debug trace stream
- ToothpickSocketLogger - logs to a socket
- ToothpickSyslogLogger - logs to the Unix syslogd logging daemon
Obviously, not all these loggers will be available for every dialect and/or operating system.
Lastly, there are a number of test packages:
- ToothpickTests - Tests the base system
- ToothpickLintTests - implements SmallLint QA tests (external dependencies here)
Published Thursday, October 19, 2006