AdaCore: Build Software that Matters
AdaCore Hero Image

Elogs

Elogs is a SPARK-based logging library, proven memory-safe, portable, and configurable for resource-constrained, high-integrity applications.

Elogs

Elogs is a portable message-logging library. The code is validated at SPARK’s Silver level and therefore proven to be absent of runtime errors. Dealing with logging and messages implies a lot of memory manipulations and the need to prevent “buffer overflow” errors, whether malicious or not. SPARK is therefore very relevant here, as Silver level proof ensures memory safety.

With constrained memory usage in mind, the library allocates static buffers for the message using Alire’s crate configuration feature. For example, users of the crate can specify the maximum message length like so:

[[depends-on]]
elogs = "~1.2.0"

[configuration.values]
elogs.Max_Message_Length = 80