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