Synesis Software Training Courses
Pantheios, Beginner's (part 1 of 2)
Pantheios is the world's fastest and most robust C/C++ diagnostic logging API library. Incorporating it into your software systems will increase their reliability, and, depending on the application area, has the potential to significantly improve their performance.
This course is an example-based guide to getting started with Pantheios.
Level
Intermediate. Assumes prior experience of C++.Style
Presentation, with tutorial activities.Duration
1 day: lecture + tutorial workMaterial Covered
- Why C++ is hard: Robustness and performance
- Hello, Logged World!
-
Diagnostic Logging APIs
- Replacement-based APIs
- Concatenation-based APIs
- Pantheios Design Features
-
Using Pantheios
- Downloading
- Installing
- Building
-
Architecture
- Application Layer
- Core
- Util
- Front-end
- Back-end
-
C++ API
- Log functions
-
Severity levels:
- Stock levels
- Additional severity level information
- Custom levels
-
Inserters
- Integers
- Floating-points
- Characters
- Pointers
- Binary blocks (as hex)
- Binary blocks (as Base-64)
-
Other:
- Host identifier
- Process identifier
- Thread identifier
- Handling different character-encodings
-
Explicit (via inserters)
- Integers
- Floating-points
-
C API
pantheios_logprintf()
pantheios_logvprintf()
- Explicit initialisation
-
Front-ends
- API
-
Stock front-ends:
- fe.all
- fe.none
- fe.simple
- fe.WindowsRegistry
- fe.N
-
Back-ends
- API
-
Stock back-ends:
- be.fprintf
- be.file
- be.null
- be.syslog
- be.speech
- be.ACE
- be.COMErrorObject
- be.WindowsConsole
- be.WindowsDebugger
- be.WindowsEventLog
- be.WindowsMessageBox
- be.WindowsSyslog
- be.ACE
- be.N
- Callback back-end customisation
-
Multiplexing:
- 2-way with be.lrsplit
- N-way with be.N
-
Controlling width:
- leading
- trailing
- Real-world examples
- Tutorial exercises
-
Diagnostic Logging guidelines:
- Specifying severity levels
- Use of log-files
- Distinguishing between diagnostic logging events and program output
- ... and more ...