I used VLOG to print log, the VLOG is define as below:
#define VLOG_IS_ON(lvl) \
((lvl) <= ::tensorflow::internal::LogMessage::MinVLogLevel())
#endif
#define VLOG(lvl) \
if (TF_PREDICT_FALSE(VLOG_IS_ON(lvl))) \
::tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::INFO)
const int INFO = 0; // base_logging::INFO;
const int WARNING = 1; // base_logging::WARNING;
const int ERROR = 2; // base_logging::ERROR;
const int FATAL = 3; // base_logging::FATAL;
const int NUM_SEVERITIES = 4; // base_logging::NUM_SEVERITIES;
if i config the min log level with warning, i use export TF_CPP_MIN_VLOG_LEVEL=1, what i want is the log only print WANRING and including ERROR、TATAL, but the fact is only display WARNING and INFO logs which are called by
VLOG(INFO) and VLOG(WARN)
Does this result reasonable?
You control the log level via TF_CPP_MIN_LOG_LEVEL
(not TF_CPP_MIN_VLOG_LEVEL
), which you want to set to 1 in your case.
TF_CPP_MIN_VLOG_LEVEL
brings in extra debugging information and actually works the other way round: its default value is 0 and as it increases, more debugging messages are logged in.
So the VLOG
level is not your usual INFO
, WARNING
, etc. LOG
level, but something different and ranked inversely. If you peek into the code, you see that LOG
is used with log labels (LOG(INFO) << message
) but VLOG
is used with plain numbers (VLOG(2) << message
).
VLOG
messages are actually always logged at the INFO
log level. It means that in any case, you need a TF_CPP_MIN_LOG_LEVEL
of 0 to see any VLOG
message.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With