secure-software-engineering / phasar

A LLVM-based static analysis framework.
Other
930 stars 140 forks source link

New boost-less logger, getting rid of <iostream> #503

Closed MMory closed 2 years ago

MMory commented 2 years ago

This large PR introduces a new logger that uses llvm streams and gets rid of the dependency to boost::log and thereby yet another transitive dependency to boost::filesystem (with boost::dll remaining as the last one).

The new logger supports logging to stdout, stderr and file. It supports logging by level, by category or both. See Logging.h for the new macro interfaces. The closest matching and most recently set output stream is used.

In the course of this, removing std::cout and std::cerr from the code base as well as std::ostreams wherever this is possible, which, unfortunately, is not everywhere.

For reviewer's convenience, I have split the change kinds to various commits in this branch, which should make your life easier. It's many changes, but most of them are pretty obvious.

pdschubert commented 2 years ago

Thanks. I've already successfully compiled and ran it, and did some minor adjustments. Will give it a final look tomorrow morning and then merge it :+1: