Fully quality std::* names.
[platform/upstream/libphonenumber.git] / cpp / src / phonenumbers / default_logger.cc
1 // Copyright (C) 2011 The Libphonenumber Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 // Author: Philippe Liard
16
17 #include <iostream>
18
19 #include "phonenumbers/default_logger.h"
20
21 namespace i18n {
22 namespace phonenumbers {
23
24 using std::string;
25
26 void StdoutLogger::WriteMessage(const string& msg) {
27   std::cout << " " << msg;
28 }
29
30 void StdoutLogger::WriteLevel() {
31   int verbosity_level = level();
32   if (verbosity_level <= 0) {
33     verbosity_level = LOG_FATAL;
34   }
35
36   std::cout << "[";
37
38   // Handle verbose logs first.
39   if (verbosity_level > LOG_DEBUG) {
40     std::cout << "VLOG" << (verbosity_level - LOG_DEBUG);
41   } else {
42     switch (verbosity_level) {
43       case LOG_FATAL:   std::cout << "FATAL"; break;
44 #ifdef ERROR  // In case ERROR is defined by MSVC (i.e not set to LOG_ERROR).
45       case ERROR:
46 #endif
47       case LOG_ERROR:   std::cout << "ERROR"; break;
48       case LOG_WARNING: std::cout << "WARNING"; break;
49       case LOG_INFO:    std::cout << "INFO"; break;
50       case LOG_DEBUG:   std::cout << "DEBUG"; break;
51     }
52   }
53   std::cout << "]";
54 }
55
56 }  // namespace phonenumbers
57 }  // namespace i18n