summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Protocol.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2018-07-11 10:35:11 +0000
committerSam McCall <sam.mccall@gmail.com>2018-07-11 10:35:11 +0000
commitbed5885d9e4f3202d06c11974474a49c56fa397f (patch)
tree49820a0a7770c18de12ec8bb7857e8b2c6b88974 /clang-tools-extra/clangd/Protocol.cpp
parenta042fae6e08d22750b529c3ff685f236bae5141f (diff)
downloadbcm5719-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.cpp7
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);
OpenPOWER on IntegriCloud