Index: base/vlog.h |
diff --git a/base/vlog.h b/base/vlog.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..faa62ecaa73758c4ee1e6f20196a6cc21774b2ad |
--- /dev/null |
+++ b/base/vlog.h |
@@ -0,0 +1,51 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef BASE_VLOG_H_ |
+#define BASE_VLOG_H_ |
+#pragma once |
+ |
+#include <cstddef> |
+#include <string> |
+#include <utility> |
+#include <vector> |
+ |
+#include "base/basictypes.h" |
+#include "base/string_piece.h" |
+ |
+namespace logging { |
+ |
+// A helper class containing all the settings for vlogging. |
+class VlogInfo { |
+ public: |
+ // |v_switch| gives the default maximal active V-logging level; 0 is |
+ // the default. Normally positive values are used for V-logging |
+ // levels. |
+ // |
+ // |vmodule_switch| gives the per-module maximal V-logging levels to |
+ // override the value given by |v_switch|. |
+ // E.g. "my_module=2,foo*=3" would change the logging level for all |
+ // code in source files "my_module.*" and "foo*.*" ("-inl" suffixes |
+ // are also disregarded for this matching). |
+ VlogInfo(const std::string& v_switch, |
+ const std::string& vmodule_switch); |
+ |
+ // Returns the vlog level for a given file (usually taken from |
+ // __FILE__). |
+ int GetVlogLevel(const base::StringPiece& file); |
+ |
+ static const int kDefaultVlogLevel; |
+ |
+ private: |
+ typedef std::pair<std::string, int> VmodulePattern; |
+ |
+ int max_vlog_level_; |
+ std::vector<VmodulePattern> vmodule_levels_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(VlogInfo); |
+}; |
+ |
+} // namespace logging |
+ |
+#endif // BASE_VLOG_H_ |