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 work

Material 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 ...