blob: c54b640bf19ab0d03bf6635a57585aa9b800938e [file] [log] [blame]
philip.liard@gmail.comb9056912011-08-18 11:41:24 +00001// Copyright (C) 2011 The Libphonenumber Authors
philip.liard@gmail.com1ad5e5b2011-07-01 08:22:06 +00002//
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
21namespace i18n {
22namespace phonenumbers {
23
24using std::cout;
25using std::string;
26
27void StdoutLogger::WriteMessage(const string& msg) {
28 cout << " " << msg;
29}
30
31void StdoutLogger::WriteLevel() {
lararennie@google.com67b8ca82013-08-06 13:58:58 +000032 int verbosity_level = level();
33 if (verbosity_level <= 0) {
34 verbosity_level = LOG_FATAL;
35 }
36
philip.liard@gmail.com1ad5e5b2011-07-01 08:22:06 +000037 cout << "[";
38
lararennie@google.com67b8ca82013-08-06 13:58:58 +000039 // 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;
philip.liard@gmail.com1ad5e5b2011-07-01 08:22:06 +000045#ifdef ERROR // In case ERROR is defined by MSVC (i.e not set to LOG_ERROR).
lararennie@google.com67b8ca82013-08-06 13:58:58 +000046 case ERROR:
philip.liard@gmail.com1ad5e5b2011-07-01 08:22:06 +000047#endif
lararennie@google.com67b8ca82013-08-06 13:58:58 +000048 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 }
philip.liard@gmail.com1ad5e5b2011-07-01 08:22:06 +000053 }
54 cout << "]";
55}
56
57} // namespace phonenumbers
58} // namespace i18n