tesseract  4.00.00dev
tlog.h
Go to the documentation of this file.
1 /**********************************************************************
2  * File: tlog.h
3  * Description: Variant of printf with logging level controllable by a
4  * commandline flag.
5  * Author: Ranjith Unnikrishnan
6  * Created: Wed Nov 20 2013
7  *
8  * (C) Copyright 2013, Google Inc.
9  ** Licensed under the Apache License, Version 2.0 (the "License");
10  ** you may not use this file except in compliance with the License.
11  ** You may obtain a copy of the License at
12  ** http://www.apache.org/licenses/LICENSE-2.0
13  ** Unless required by applicable law or agreed to in writing, software
14  ** distributed under the License is distributed on an "AS IS" BASIS,
15  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  ** See the License for the specific language governing permissions and
17  ** limitations under the License.
18  *
19  **********************************************************************/
20 #ifndef TESSERACT_TRAINING_TLOG_H_
21 #define TESSERACT_TRAINING_TLOG_H_
22 
23 #include "commandlineflags.h"
24 #include "errcode.h"
25 #include "tprintf.h"
26 
27 DECLARE_INT_PARAM_FLAG(tlog_level);
28 
29 // Variant guarded by the numeric logging level parameter FLAGS_tlog_level
30 // (default 0). Code using ParseCommandLineFlags() can control its value using
31 // the --tlog_level commandline argument. Otherwise it must be specified in a
32 // config file like other params.
33 #define tlog(level, ...) { \
34  if (FLAGS_tlog_level >= level) { \
35  tprintf_internal(__VA_ARGS__); \
36  } \
37 }
38 
39 #define TLOG_IS_ON(level) (FLAGS_tlog_level >= level)
40 
41 #endif // TESSERACT_TRAINING_TLOG_H_
DECLARE_INT_PARAM_FLAG(tlog_level)