diff options
author | Sam McCall <sam.mccall@gmail.com> | 2018-07-11 10:35:11 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2018-07-11 10:35:11 +0000 |
commit | bed5885d9e4f3202d06c11974474a49c56fa397f (patch) | |
tree | 49820a0a7770c18de12ec8bb7857e8b2c6b88974 /clang-tools-extra/clangd/Protocol.cpp | |
parent | a042fae6e08d22750b529c3ff685f236bae5141f (diff) | |
download | bcm5719-llvm-bed5885d9e4f3202d06c11974474a49c56fa397f.tar.gz bcm5719-llvm-bed5885d9e4f3202d06c11974474a49c56fa397f.zip |
[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
llvm-svn: 336785
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.cpp')
-rw-r--r-- | clang-tools-extra/clangd/Protocol.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang-tools-extra/clangd/Protocol.cpp b/clang-tools-extra/clangd/Protocol.cpp index a35e6ba8d27..8d99e18d68b 100644 --- a/clang-tools-extra/clangd/Protocol.cpp +++ b/clang-tools-extra/clangd/Protocol.cpp @@ -34,16 +34,17 @@ bool fromJSON(const json::Value &E, URIForFile &R) { if (auto S = E.getAsString()) { auto U = URI::parse(*S); if (!U) { - log("Failed to parse URI " + *S + ": " + llvm::toString(U.takeError())); + elog("Failed to parse URI {0}: {1}", *S, U.takeError()); return false; } if (U->scheme() != "file" && U->scheme() != "test") { - log("Clangd only supports 'file' URI scheme for workspace files: " + *S); + elog("Clangd only supports 'file' URI scheme for workspace files: {0}", + *S); return false; } auto Path = URI::resolve(*U); if (!Path) { - log(llvm::toString(Path.takeError())); + log("{0}", Path.takeError()); return false; } R = URIForFile(*Path); |