c54b640bf19ab0d03bf6635a57585aa9b800938e
[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::cout;
25 using std::string;
26
27 void StdoutLogger::WriteMessage(const string& msg) {
28   cout << " " << msg;
29 }
30
31 void StdoutLogger::WriteLevel() {
32   int verbosity_level = level();
33   if (verbosity_level <= 0) {
34     verbosity_level = LOG_FATAL;
35   }
36
37   cout << "[";
38
39   // Handle verbose logs first.
40   if (verbosity_level > LOG_DEBUG) {
41     cout << "VLOG" << (verbosity_level - LOG_DEBUG);
42   } else {
43     switch (verbosity_level) {
44       case LOG_FATAL:   cout << "FATAL"; break;
45 #ifdef ERROR  // In case ERROR is defined by MSVC (i.e not set to LOG_ERROR).
46       case ERROR:
47 #endif
48       case LOG_ERROR:   cout << "ERROR"; break;
49       case LOG_WARNING: cout << "WARNING"; break;
50       case LOG_INFO:    cout << "INFO"; break;
51       case LOG_DEBUG:   cout << "DEBUG"; break;
52     }
53   }
54   cout << "]";
55 }
56
57 }  // namespace phonenumbers
58 }  // namespace i18n