HomePhabricator

[clangd] Upgrade logging facilities with levels and formatv.

Description

[clangd] Upgrade logging facilities with levels and formatv.

Summary:
log() is split into four functions:

  • elog()/log()/vlog() have different severity levels, allowing filtering
  • dlog() is a lazy macro which uses LLVM_DEBUG - it logs to the logger, but conditionally based on -debug-only flag and is omitted in release builds

All logging functions use formatv-style format strings now, e.g:

log("Could not resolve URI {0}: {1}", URI, Result.takeError());

Existing log sites have been split between elog/log/vlog by best guess.

This includes a workaround for passing Error to formatv that can be
simplified when D49170 or similar lands.

Subscribers: ilya-biryukov, javed.absar, ioeric, MaskRay, jkorous, cfe-commits

Differential Revision: https://reviews.llvm.org/D49008

Details

Committed
sammccallJul 11 2018, 3:35 AM
Differential Revision
D49008: [clangd] Upgrade logging facilities with levels and formatv.
Branches
Unknown
Tags
Unknown